2013-05-10 133 views
0
我有這個問題,我已經盡了一切時間來顯示您瀏覽使用規定「幻燈片自動播放已停止」 所以我想知道的控制我的幻燈片顯示一個警告框

是有辦法像Cookie或任何東西一樣在本地存儲信息,以便如果他們按下控件一次,並看到消息,它將停止顯示,如果他們繼續導航。JS本地存儲

JS腳本

<script> 
     $(document).ready(function() { 

       $("#pressed1").click(function() { 
        jConfirm('Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour.', 'Website alert'); 
       }); 

      }); 

     $(document).ready(function() { 

       $("#pressed2").click(function() { 
        jConfirm('Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour.', 'Website alert'); 
       }); 

      }); 

     $(document).ready(function() { 

       $("#pressed3").click(function() { 
        jConfirm('Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour.', 'Website alert'); 
       }); 

      }); 

     $(document).ready(function() { 

       $("#pressed4").click(function() { 
        jConfirm('Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour.', 'Website alert'); 
       }); 

      }); 
</script> 

HTML代碼

<div id="main2"> 
    <div id="gallery"> 

    <div id="slides"> 
    <div class="slide"><img src="imgs/slide.imgs/1.jpg" onmousedown="return false;" style="border-style: none" width="1040" height="400" alt="side" /></div> 
    <div class="slide"><img src="imgs/slide.imgs/1.jpg" onmousedown="return false;" style="border-style: none" width="1040" height="400" alt="side" /></div> 
    <div class="slide"><img src="imgs/slide.imgs/3.gif" onmousedown="return false;" style="border-style: none" width="1040" height="400" alt="side" /></div> 
    <div class="slide"><a href="buywebdesign.html" onmousedown="return false;" target="_blank"><img src="imgs/slide.imgs/4.gif" style="border-style: none" width="1040" height="400" alt="side" /></a></div> 
    </div> 

    <div id="menu"> 
    <ul><div class="thumbs"> 
     <li class="fbar">&nbsp;</li> 
     <li class="menuItem"><a href=""><img src="imgs/slide.imgs/thumb_ball.png" id="pressed1" onmousedown="return false;" style="border-style: none" alt="thumbnail" /></a></li> 
     <li class="menuItem"><a href=""><img src="imgs/slide.imgs/thumb_ball.png" id="pressed2" onmousedown="return false;" style="border-style: none" alt="thumbnail" /></a></li> 
     <li class="menuItem"><a href=""><img src="imgs/slide.imgs/thumb_ball.png" id="pressed3" onmousedown="return false;" style="border-style: none" alt="thumbnail" /></a></li> 
     <li class="menuItem"><a href=""><img src="imgs/slide.imgs/thumb_ball.png" id="pressed4" onmousedown="return false;" style="border-style: none" alt="thumbnail" /></a></li> 
    </div> </ul> 
    </div> 
    </div> 
</div> 

回答

0

我真的不知道您的具體要求,但這裏的空氣中的一杆..

您可以使用window.localStorage(即會被瀏覽器爲您的網站被保留頁面重新加載的對象無關)

您可以設置類似

標誌的第重裝.. ,只要你想顯示messag e只是做

if(!window.localStorage['messaged_displayed']) { 
    jConfirm('Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour.', 'Website alert'); 
    window.localStorage['messaged_displayed'] = true; 
} 

然後在2小時後再次將標誌重置爲false。如果你不知道如何實現這一然後

, 我想編輯迪倫海耶斯的例子

$(document).ready(function() { 
    var msg = "Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour."; 

    $("#pressed1, #pressed2, #pressed3, #pressed4, #pressed5 ").click(function() { 
     rightNow = new Date() 
     if (window.localStorage['lastClicked']) 
     { 
      if (rightNow - window.localStorage['lastClicked'] > 7200000) { // milliseconds of 2 hrs 
       jConfirm(msg, 'Website alert'); 
       window.localStorage['lastClicked'] = rightNow 
      } 
     } 
     else { 
      window.localStorage['lastClicked'] = rightNow 
     } 
    }); 
}); 
+0

不知道我是如何放入該代碼。 – 2013-05-10 07:48:39

+0

假設你明白迪倫海耶斯寫了什麼,我正在延伸他對答案的解釋@MauritzN – 2013-05-10 09:10:27

+0

它似乎在工作,謝謝:) – 2013-05-10 10:42:35

0

其實我覺得有可能是很多事情,你可以在這裏做。

您確實只需要1個document.ready,並且您的選擇器語句中可以包含多個元素。

爲了您的具體問題,我只想設置開始爲真正的布爾值,就會顯示一次,然後一旦顯示消息,將設置爲false,不再使其進入if()語句。

$(document).ready(function() { 
     var msg = "Slideshow auto advance has stopped!<br />Press OK to stop showing this message for 2 hour."; 
     var displayAlert = true; 

     $("#pressed1, #pressed2, #pressed3, #pressed4, #pressed5 ").click(function() { 
      if (displayAlert) { 
       jConfirm(msg, 'Website alert'); 
       displayAlert = false; 
      } 
     }); 
    }); 
+0

看來工作,但是當你重新加載頁面它會復位。我希望它持續2小時,然後它會重置。 – 2013-05-10 07:47:02