2016-06-10 66 views
0

我有一個網站,我作爲一個網頁設計師,有一個計數器,它不是工作繼承。該網站在Wordpress 4.5.2上運行,計數器由三部分組成。它應該出現在累積艦隊運行時間以上的頁面https://electratherm.com/上。調試計數器代碼

第一部分是剛剛div標籤,它是此頁面上:

<div id="counter" style="text-align: center;"></div> 

第二部分是由客戶端編輯,它顯示了朝向源代碼的底部:

<script> 
//update next three variables once per week using current fleet data 

var START_DATE = new Date("June 5, 2016 23:59:00"); 

// the date and time when run hours were known 

var START_VALUE = 548047; 

// the run hours known at the date above 

var INCREMENT = 0.0041; 

// 4000 fleet hrs per week = .0050 per sec, how many fleet run hours are added every second of the day. # of week hours/7/24/60/60 
</script> 

第三部分是在源代碼鏈接下的實際JavaScript文件:

<script src="https://electratherm-electratherm.netdna-ssl.com/wp-content/themes/Impreza-child/js/counter.js" type="text/javascript"> 

// section for fleet hours counter here 
//update next three variables once per week using current fleet data 
//var START_DATE = new Date("February 17, 2015 23:59:00"); // the date and time when run hours were known 
//var START_VALUE = 316398; // the run hours known at the date above 
//var INCREMENT = 0.0055; // 4000 fleet hrs per week = .0066 per sec, how many fleet run hours are added every second of the day 

var INTERVAL = 1; // in seconds 
var count = 0; 
var fleetyears = 0; 

jQuery(document).ready(function() { 
var msInterval = INTERVAL * 1000; 
var now = new Date(); 
count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE; 
fleetyears = count/8766; 

document.getElementById('counter').innerHTML = "<div class='w-counter-number'>" + Number((2)).toLocaleString('en') + " HOURS</div>"; //simply 'count' if unformatted 
window.setInterval(function(){ 
    count += INCREMENT; 
    document.getElementById('counter').innerHTML = "<div class='w-counter-number'>" + Number(count.toFixed()).toLocaleString('en') + " HOURS</div>"; //simply 'count' if unformatted 
}, msInterval); 
}); 
/* 
document.getElementById('counter').innerHTML = "&nbsp;Cumulative Fleet Runtime: " + Number(count.toFixed()).toLocaleString('en') + " hours (" + Number(fleetyears.toFixed(2)).toLocaleString('en') + " years)&nbsp;"; //simply 'count' if unformatted 
window.setInterval(function(){ 
    count += INCREMENT; 
    document.getElementById('counter').innerHTML = "&nbsp;Cumulative Fleet Runtime: " + Number(count.toFixed()).toLocaleString('en') + " hours (" + Number(fleetyears.toFixed(2)).toLocaleString('en') + " years)&nbsp;"; //simply 'count' if unformatted 
}, msInterval); 
});*/ 

This was working not to long ago but it stopped now. Not sure what is going on but I don't see any errors in the Debug console in Firefox. 

回答

0

你的頁面上有一個jQuery錯誤。

Uncaught Error: Syntax error, unrecognized expression: .w-nav-item

我猜你最近正在改變導航?如果是這樣的話,那麼你在那裏做的事情正在導致jQuery中斷,而且一旦拋出了JavaScript錯誤,其餘的可能會非常不可靠。我通讀了你發佈的代碼,並沒有注意到任何明顯的錯誤。

至於修復錯誤,請查看您的導航中的href,並確保您沒有使用任何特殊字符。

+0

我還沒有檢查過任何東西,但是這看起來不像是一個jQuery錯誤,而是因爲一些意外鍵入的'$(.w-nav-item)'。 – idmean

0

jQuery從來沒有調用ready函數。

你似乎在你plugins.js一個問題,在這條線的文件:

jQuery('.w-nav-item a[href*=#]').parents('.w-nav-item').removeClass('current-menu-item'); 

我相信它是由沒有正確的#造成逃脫像這樣:

jQuery('.w-nav-item a[href*=\\#]').parents('.w-nav-item').removeClass('current-menu-item'); 

這'可能是什麼阻止jQuery執行它的ready函數,但直到它解決了,我不知道。