2014-02-18 136 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

如果它是相同的代碼,則不需要在答案中提供小提琴,這使得這個答案成爲評論。沒有答案。 –

相關問題