html弹窗代码只弹窗一次,js实现弹窗24小时只弹出一次jQuery插件
时间: 2024-01-21 12:02:24 浏览: 71
24小时弹窗一次的代码
以下是实现24小时内只弹出一次的 jQuery 插件示例代码:
```javascript
(function($) {
$.fn.popupOnce = function(options) {
var settings = $.extend({
popupDelay: 0,
expireDays: 1,
popupClass: 'popup'
}, options);
var popupId = $(this).attr('id');
var popupCookie = getCookie(popupId);
if (!popupCookie) {
setTimeout(function() {
$('body').append('<div id="' + popupId + '" class="' + settings.popupClass + '"></div>');
setCookie(popupId, 'true', settings.expireDays);
}, settings.popupDelay * 1000);
}
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
};
})(jQuery);
```
使用方法:
1. 引入 jQuery 库和上面的插件代码。
2. 在需要弹出的 HTML 元素上加上一个唯一 ID,如 `<div id="popup">...</div>`。
3. 调用插件方法:`$('#popup').popupOnce({ popupDelay: 5, expireDays: 1, popupClass: 'popup' });`,其中 `popupDelay` 是延迟弹出时间(秒),`expireDays` 是 cookie 过期时间(天),`popupClass` 是弹出框的 CSS 类名。
注意:这个插件实现的是 24 小时内只弹出一次的功能,如果需要更复杂的条件判断,可以自行修改代码。
阅读全文