2017-07-31 86 views
0

這必須是超級容易,就是無法找到解決方案在過去的三年時間:的Javascript數增加了當前的日期**和保存每增加**

我想顯示的數字(100)在我的網站上,過去的日子會增加,問題是,當我重新加載網站時,數字會回到100,我該如何讓這個數字隨着時間的推移而增加?

下面的代碼:

<script> 
    var smyle = 11406; 
    var happyclients = 1006; 
    var hours = 4220; 

     window.setInterval(
      function() { 
       smyle = smyle + 2; 
       document.getElementById("smiles").innerHTML = smyle; 
      }, 2880); 

     window.setInterval(
      function() { 
       happyclients = happyclients + 4; 
       document.getElementById("happy").innerHTML = happyclients; 
      }, 28800000); 

     window.setInterval(
      function() { 
       hours = hours + 8 
       document.getElementById("hoursspent").innerHTML = hours; 
      }, 86400000); 
    </script> 

的HTML

   <div class="col-md-3 col-sm-6 animate-box" data-animate-effect="fadeInLeft"> 
        <div class="feature-center"> 
         <span class="icon"> 
          <i class="ti-music"></i> 
         </span> 
         <span class="counter js-counter" data-from="0" data-to="" data-speed="4000" data-refresh-interval="50" id="smiles"></span> 
         <span class="counter-label">Smiles Created</span> 
        </div> 
       </div> 

我是新來的JS,以前用PHP嘗試,但未能要麼找到答案,這是我得到的最接近的一次。

到目前爲止,我已經得到了你的幫助,將數據存儲在本地數據庫上的想法相當乾淨和高效,但我無法使其工作(請參閱底部的更改的代碼)

我已閱讀大量關於此的文檔,我認爲該命令是正確的,但是它?

<script> 

    var smyle = 11000; 
    var happyclients = 1006; 
    var hours = 4220; 

     window.setInterval(
      function() { 
       smyle = smyle + 2; 

       document.getElementById("smiles").innerHTML = smyle; 
      }, 288); 

     window.setInterval(
      function() { 
       happyclients = happyclients + 4; 
       document.getElementById("happy").innerHTML = happyclients; 
      }, 288); 

     window.setInterval(
      function() { 
       hours = hours + 8 
       document.getElementById("hoursspent").innerHTML = hours; 
      }, 864); 

     if (typeof(Storage) !== "undefined") { 
     // Store 
     localStorage.setItem("smyle"); 
     //Retrieve 
     document.querySelector("smiles").innerHTML = localStorage.getItem("smyle"); 
     } else { 
      document.write(11404); 
     } 

    </script> 

我沒有改變的HTML部分做任何事,所以ID還是ID =「微笑」

回答

0

您不妨到賣場這個地方,這可能是一個cookie或更容易只將其存儲在數據庫中。您可以通過每隔幾秒或幾分鐘更新一次數據庫來爲每個用戶說明他們花了多長時間。然後,您需要做的就是獲取該數據並檢查數據的位置。

目前,您的方法需要用戶持續打開頁面,實際上每次都會重新啓動頁面,因爲JavaScript不會花費以前的時間。

0

您可以將它保存在客戶端的localStorage。 這裏是reference

如果你想讓每個人都得到相同的結果,你應該在你的服務器上這樣做。

0

保存數據localStorage有一定幫助:

localStorage.setItem(//takes an object); 

對於檢索:

document.querySelector("...").innerHTML = localStorage.getItem(//takes object key); 
+0

感謝您的建議,您如何看待的變化是什麼?我多次閱讀了整個https://www.w3schools.com/html/html5_webstorage.asp頁面,無法找到薄弱環節 –