2016-05-10 31 views
0

我有一個腳本,最初取自Stackoverflow question thread。該腳本將允許用戶注意最後一次頁面修改的時間。我希望腳本通過它的SPAN CLASS或LABEL ID來設置,而不是通過它的DIV SPAN。任何幫助將非常感激。謝謝。 :)JavaScript的簡單Timeago腳本設置爲跨班或標籤ID

這是我到目前爲止有:

HTML

此頁面前

更新的JavaScript

var date = new Date(); 
var finaltime = timeSince(date); 
setInterval(function(){ 
    document.getElementsByTagName('span')[0].innerHTML = timeSince(date); 
},5000); 
document.getElementsByTagName('span')[0].innerHTML = timeSince(date); 

function timeSince(date) { 
    var seconds = Math.floor((new Date() - date)/1000); 
    var interval = Math.floor(seconds/31536000); 

    if (interval > 1) { 
    return interval + " years"; 
    } 
    interval = Math.floor(seconds/2592000); 
    if (interval > 1) { 
    return interval + " months"; 
    } 
    interval = Math.floor(seconds/86400); 
    if (interval > 1) { 
    return interval + " days"; 
    } 
    interval = Math.floor(seconds/3600); 
    if (interval > 1) { 
    return interval + " hours"; 
    } 
    interval = Math.floor(seconds/120); 
    if (interval >= 2){ 
    return interval + "minutes"; 
    } 
    interval = Math.floor(seconds/60); 
    if (interval == 1) { 
    return interval + " minute"; 
    } 

    return "a while"; 

} 
+0

然後從'改變 'span''到'' div'',雖然他們沒有一個'id'。至少不在你的示例代碼中。 –

+0

Hi @SpencerWieczorek我編輯了我的代碼。謝謝。 –

回答

0

我沒看到你之前的代碼,所以它是您當前代碼的解決方案。

var pa = document.getElementById('lbl_timeago').parentNode; 
     setInterval(function(){ 
      pa.innerHTML = timeSince(date); 
      },5000); 
     pa.innerHTML = timeSince(date); 

變化不大。我測試過了,它應該可以工作。

在jQuery中

$('#puthere').parent(); 
+0

嗨對不起,但它不工作。我不知道我是否正確地放置了代碼或者它不工作。你介意提供確切的代碼嗎?謝謝。 –

0

您正在尋找這樣的事情?

<div id="samplediv"> This page is updated <r id ="puthere"> </r></div> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
 
<script src="http://timeago.yarp.com/jquery.timeago.js"></script> 
 
<script> 
 
    var date = new Date(); 
 
    setInterval(function(){ 
 
     document.getElementById('samplediv').getElementsByTagName('r')[0].innerHTML = $.timeago(date); 
 
\t \t },500); 
 
    document.getElementById('samplediv').getElementsByTagName('r')[0].innerHTML = $.timeago(date); 
 
</script>

+0

嗨@ahPo我編輯了我的代碼。謝謝。 –

0

我已經通過這個代碼解決了這個問題。

HTML

This page is updated <span class="timeago_span"> </span> ago 

的JavaScript

var date = new Date(); 
var finaltime = timeSince(date); 
setInterval(function(){ 
    document.getElementsByClassName('timeago_span')[0].innerHTML = timeSince(date); 
},5000); 
document.getElementsByClassName('timeago_span')[0].innerHTML = timeSince(date); 


function timeSince(date) { 
    var seconds = Math.floor((new Date() - date)/1000); 
    var interval = Math.floor(seconds/31536000); 

    if (interval > 1) { 
    return interval + " years"; 
    } 
    interval = Math.floor(seconds/2592000); 
    if (interval > 1) { 
    return interval + " months"; 
    } 
    interval = Math.floor(seconds/86400); 
    if (interval > 1) { 
    return interval + " days"; 
    } 
    interval = Math.floor(seconds/3600); 
    if (interval > 1) { 
    return interval + " hours"; 
    } 
    interval = Math.floor(seconds/120); 
    if (interval >= 2){ 
    return interval + " minutes"; 
    } 
    interval = Math.floor(seconds/60); 
    if (interval == 1) { 
    return interval + " minute"; 
    } 

    // return Math.floor(seconds) + " seconds"; 
    return " a while " 

}