2012-12-12 180 views
0

親愛的社區,我問你的幫助,在這裏做了一個crutch,奇怪的是,帶有內容的模態窗口沒有出現,可能超出了框架的範圍,在本地工作。問題是,如何讓我的窗戶在用戶有廚師的情況下不會出現。我無法弄清楚如何添加if(){}。似乎做一切正確。然而,增加的條件下,在firebag的輸入錯誤後:未捕獲的ReferenceError:getCookieValue沒有定義未捕獲ReferenceError:未定義getCookieValue

而且這樣的設計不工作(在人體內的位置):

<script type="text/javascript"> 
    $(document).ready(function() { 
     var getCookieValue = $.cookie("visit"); 
     if (getCookieValue == true) { 
      $("a.gallery2").fancybox(
       {      
        "padding" : 20, 
        "imageScale" : false, 
        "zoomOpacity" : false, 
        "zoomSpeedIn" : 1000, 
        "zoomSpeedOut" : 1000, 
        "zoomSpeedChange" : 1000, 
        "frameWidth" : 700, 
        "frameHeight" : 600, 
        "overlayShow" : true, 
        "overlayOpacity" : 0.8, 
        "hideOnContentClick" :false,   
        "centerOnScroll" : false     
      }).click(); 
     } 
    }); 

</script> 

回答

1

是否要顯示的fancybox只有當cookie是true它是不是我不清楚。假設的fancybox應該只顯示如果cookie值true,那就試試這個

<script type="text/javascript"> 
$(document).ready(function() { 
    // create cookie "visit" 
    var getCookieValue = $.cookie("visit"); 
    // check if cookie value = true 
    if (getCookieValue == "true") { 
     $("a.gallery2").trigger("click"); 
    } 
    $.cookie("visit", "true", { expires: 7 }); // set the number of days for cookie 
    $("a.gallery2").fancybox({      
    // API options here 
    }); // bind fancybox 
}); 
</script> 

在這種情況下,的fancybox將不會在首次訪華期間,但總是之後的第二,而cookie有效期所示。

在另一方面,如果的fancybox應在第一次訪問只期間顯示,然後嘗試:

<script type="text/javascript"> 
$(document).ready(function() { 
    // create cookie "visit" 
    var getCookieValue = $.cookie("visit"); 
    // check if cookie value = true 
    if (getCookieValue == "true") { 
     return false 
    } else { 
     $("a.gallery2").trigger("click"); 
    } 
    $.cookie("visit:, "true", { expires: 7 }); // set the number of days for cookie 
    $("a.gallery2").fancybox({      
    // API options here 
    }); // bind fancybox 
}); 
</script> 

在這兩個例子中,它假設你在你的代碼的某處有這個網站:

<a class="gallery2" href="path/target"></a> 
+0

非常感謝!接受你的答案,讓你更加了解領導方案的細節。 – Artem

1

如果變量未定義,則腳本將以這種方式寫入失敗。

試試這個:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var window.getCookieValue = $.cookie("visit"); 
     if (window.getCookieValue == true) { 
      $("a.gallery2").fancybox(
       {      
        "padding" : 20, 
        "imageScale" : false, 
        "zoomOpacity" : false, 
        "zoomSpeedIn" : 1000, 
        "zoomSpeedOut" : 1000, 
        "zoomSpeedChange" : 1000, 
        "frameWidth" : 700, 
        "frameHeight" : 600, 
        "overlayShow" : true, 
        "overlayOpacity" : 0.8, 
        "hideOnContentClick" :false,   
        "centerOnScroll" : false     
      }).click(); 
     } 
    }); 

</script> 
+0

此錯誤顯示:**未捕獲的SyntaxError:意外的標記** 在這一行:** VAR window.getCookieValue = $ .cookie( 「訪問」); ** – Artem

+0

如果我這樣做,那麼所有: var CookieValue = true; (CookieValue == true){(「a.gallery2」)。fancybox()。click(); } 可能是變量** getCookieValue **不是全局的,以及如何使其成爲全局的?試圖做出*返回*但它沒有工作 – Artem

+0

評論我的答案請! – Artem

0

同事!找到了解決辦法:

原來是這樣,那與可變getCookieValue比較是不可能的,因爲變量不全球,但權一旦條件讀取餅乾與的價值比較條件。

這裏的解決方案:

$(document).ready(function() { 

    $("a.gallery2").fancybox({ 
     "padding" : 20, 
     "imageScale" : false, 
     "zoomOpacity" : false, 
     "zoomSpeedIn" : 1000, 
     "zoomSpeedOut" : 1000, 
     "zoomSpeedChange" : 1000, 
     "frameWidth" : 700, 
     "frameHeight" : 600, 
     "overlayShow" : true, 
     "overlayOpacity" : 0.8, 
     "hideOnContentClick" :false, 
     "centerOnScroll" : false 
    }); 

if ($.cookie("visit") == "true") { 
    $("a.gallery2").fancybox().click(); 
} 

}); 
相關問題