2014-02-18 98 views
0

这是基本滑动条切换的频率上限cookie,我暂时还没有使用过。 FF,IE中的作品在Chrome中不起作用。上限基于日历日,而不是24小时的时间段。我很高兴地报告该问题是在本地浏览器中测试我的文件。上传到服务器,Cookie在Chrome中设置。不会忘记这个事实,关于ChromeCookie不适用于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);} 
}); 

回答

1

你可能会碰到的问题是,谷歌浏览器不允许设置Cookie,当你运行一个本地文件。你需要从某种服务器运行它,或者使用jsfiddle之类的东西。

如果您尝试运行在Web服务器的代码如的jsfiddle http://jsfiddle.net/X9yze/你会看到,它是设置在谷歌浏览器的cookie

Hope that helps 
+0

你不得不把原因“希望这有助于”为代码是...因为你应该提供代码!仅限链接的答案是不可接受的。 –

+0

@AshleyMedway您是否有建议要发布的代码?我只是复制他的代码并将其粘贴到jsfiddle中。 – Joseph

+0

如果它是相同的代码,则不需要在答案中提供小提琴,这使得这个答案成为评论。没有答案。 –

相关问题