这是基本幻灯片切换的频次上限Cookie,我暂时没有使用过。在FF,IE中工作,在chrome中不起作用。上限基于日历日,而不是24小时时间段。我很高兴地报告问题是在本地浏览器中测试我的文件。上传到服务器,Cookie在Chrome中设置。不会忘记关于Chrome的这个事实
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);}
});
答案 0 :(得分:1)
您可能遇到的问题是Google Chrome在您运行本地文件时不允许您设置Cookie。您需要从某种服务器运行它或使用类似jsfiddle的东西。
如果您尝试在网络服务器(例如jsfiddle http://jsfiddle.net/X9yze/)上运行代码,您会看到它在Google Chrome中设置Cookie
Hope that helps