2012-12-12 23 views
1

我試圖實現一個訂閱框,該程序激活您第一次訪問該網站。首次訪問網站時加載引導程序Modal

目前訂閱模式不會加載,當你第一次訪問該網站,我不明白爲什麼?

<script type="text/javascript"> 
jQuery.noConflict(); 
jQuery(document).load(function(){ 
     // load the overlay 
     if (document.cookie.indexOf('visited=true') == -1) { 
      var fifteenDays = 1000*60*60*24*15; 
      var expires = new Date((new Date()).valueOf() + fifteenDays); 
      document.cookie = "visited=true;expires=" + expires.toUTCString(); 
      jQuery.modal({width:"580px", inline:true, href:"#myModal"}); 
     } 
    }); 
</script> 

我可以通過點擊鏈接加載模態,但我需要在用戶第一次訪問時自動彈出。任何人都可以看到我的代碼有什麼問題嗎?

回答

2

首先你指的是:

jQuery('#myModal') 

,以後你指的是:

jQuery('.myModal') 

它是一個類或一個ID?可能這是你的錯誤。

在旁註上,您可能希望在腳本標記中指定語言屬性。

+0

我已對代碼進行了一些更改,但在網站第一次訪問時仍無法加載。我已經清除了緩存和Cookie但沒有任何內容 - 仍在嘗試修復! – user1704524

+1

感謝我的朋友我得到它與jQuery(窗口).load(函數()而不是jQuery(文檔).ready(函數() – user1704524

0

bootstrap中的模態函數沒有href選項。你想要做的是瞄準實際的模態元素,然後調用模態函數來將其作爲模態激活。像這樣;

jQuery('#myModal').modal(options) 

退房的documentation可用的選項

此外,例如的jsfiddle here

+0

感謝您的建議。唯一的問題是,無論何時頁面(我正在使用它的主頁)我需要找到方式,它只加載一次,然後設置cookie,所以如果用戶再次導航到首頁,模式將不會加載,直到cookie已過期 – user1704524

+0

哪條線我應該放置你的代碼嗎? – user1704524

+0

我沒有使用過多的cookies,但乍一看你的邏輯看起來沒問題。只要瀏覽器允許cookies,那就是? 我認爲問題是以編程方式觸發模式,你用我的例子改變最後一行代碼(jQuery.modal行)。 – patriks

0
$(document).ready(function(){ 

    if (document.cookie.indexOf('visited=true') == -1) { 
     var fifteenDays = 1000*60*60*24*15; 
     var expires = new Date((new Date()).valueOf() + fifteenDays); 
     document.cookie = "visited=true;expires=" + expires.toUTCString(); 
     $('#flag').trigger('click'); 
    $('#myModal').modal('toggle'); 
    } 

}); 

這是我對你的腳本。

+0

這是自動點擊@vipin的div – vipin