【发布时间】:2020-07-13 04:41:40
【问题描述】:
这是一个用于基本滑动切换的频率上限 cookie,我已经有一段时间没有使用过了。适用于 FF、IE,不适用于 chrome。上限基于日历日,而不是 24 小时时间段。
jQuery.noConflict();
jQuery(document).ready(function(){
var pageURL = location.href.toLowerCase();
var sbFirstSlide = (document.cookie.indexOf('sbb_'+pageURL) == -1); //check cookie for 'already seen today'
var sbTrigger = jQuery('#slidebartrigger');
var slideState = 0; //0=up, 1=down
var downTM, upTM;
function slideUp(){
if(slideState==1){
if(downTM) clearTimeout(downTM);
jQuery("#slidebar").slideToggle(200);
slideState=0;
sbTrigger.removeClass("closeSlide").one('click', slideDown);
}
}
function slideDown(){
if(slideState==0){
if(upTM) clearTimeout(upTM);
jQuery("#slidebar").slideToggle(500);
slideState=1;
sbTrigger.removeClass("firstSlide");
sbTrigger.addClass("closeSlide").one('click', slideUp);
}
}
function setSBBCookie(){
var oneDay = new Date();
oneDay.setUTCDate(oneDay.getUTCDate()+1);
oneDay.setUTCHours(0, 0, 0, 0); //set to literally day-by-day, rather than 24 hours
document.cookie="sbb_"+pageURL+"=true;path=/;expires="+oneDay.toUTCString();
}
if(sbFirstSlide){
slideDown();
setSBBCookie();
downTM=setTimeout(slideUp,3000);
}else{sbTrigger.removeClass("firstSlide").one('click', slideDown);}
});
【问题讨论】:
标签: javascript jquery cookies