我已被要求擴展給定的代碼,使得生成的框僅在每次訪問時顯示一次。 看完之後,問題似乎並不複雜,但由於某些原因,代碼無法正常工作 - 現在該層完全不顯示。 由於我對jQuery不太熟悉,而原作者也不可用,所以我希望有人可能會推動我向正確的方向發展? 出於測試目的,我試圖將cookie設置爲在2小時內過期。僅在起始頁面顯示jQuery Popup一次且僅在起始頁面
<script type="text/javascript">
$.noConflict();
/* Popup on starting page */
<?php
if($_SERVER["REQUEST_URI"] == "/" || $_SERVER["REQUEST_URI"] == "/index.php") :
?>
jQuery(document).ready(function() {
if ($.cookie('test') !='1'){
jQuery("body").append("<div class=\"vbox-shadow\"></div>");
jQuery(".vbox-shadow").fadeIn(function() {
jQuery("body").append("<div class=\"vbox-layer\"></div>");
jQuery(".vbox-layer").html("<span class=\"vbox-close\">X</span><a href=\"/link/target.html\"><img src=\"/images/popup_image.jpg\" /><br /></a>");
jQuery(".vbox-close").click(function(e) {
jQuery(".vbox-layer").hide(function() {
jQuery(".vbox-layer").remove();
jQuery(".vbox-close").remove();
jQuery(".vbox-shadow").fadeOut(function() { jQuery(".vbox-shadow").remove(); });
});
});
jQuery(".vbox-shadow").click(function(e) {
jQuery(".vbox-layer").hide(function() {
jQuery(".vbox-layer").remove();
jQuery(".vbox-close").remove();
jQuery(".vbox-shadow").fadeOut(function() { jQuery(".vbox-shadow").remove(); });
});
});
$.cookie('test', '1', { expires:7200000});
});}
});
<?php
endif;
?>
</script>
感謝您的建議,@ artm! 儘管似乎沒有改變任何東西 - 只要我添加行來檢查/設置cookie,圖層根本不顯示。 另外,網站管理員工具包不會顯示「測試」-cookie曾經被設置在首位。 – LoneWolf 2014-09-05 09:20:12
有些東西看起來不對,jQuery.Cookie的documentation指出到期日期是DAYS中的一個數字。 爲了理智,您可能希望將cookie的路徑設置爲根文件夾,如下所示: '$ .cookie('test','1',{path:'/',expires:7200000} );' – DevlshOne 2014-09-05 09:20:13
在jQuery(document).ready(function(){)中放置了一個斷點,並檢查$ .cookie('test')的返回結果爲 – artm 2014-09-05 09:21:52