我一直在我的網站上進行一些性能檢查,並使用時間表對可能出現的瓶頸提出警告,但並未真正解釋如何解決此問題。Chrome時間軸中的JS瓶頸
這是我在我的時間線看到:
Large image link:
http://i.stack.imgur.com/RdzvI.jpg
如果看到setCenter
功能具有此代碼:
function setCenter(div){
var testH = document.getElementById(div).offsetHeight;
var testW = document.getElementById(div).offsetWidth;
var height = settings.height;
var width = settings.width;
var temp = Math.floor((height/2)- (test/2)) + 'px';
document.getElementById(div).style.marginTop = temp;
var temp = Math.floor((width/2)- ( testW /2)) + 'px';
document.getElementById(div).style.marginLeft = temp;
}
到底是什麼功能錯誤給我一個關於瓶頸的警告?我看不到任何其他解決方案會更好。
有人可以解釋我需要做什麼來解決這個問題嗎?
除非您認爲您的網站的性能正在成爲問題,否則您無需解決它。 'setCenter'調用了很多元素,並在實際的常見操作中調用?時間表表示它耗時4毫秒,所以目前看起來並不是問題,因此是警告而不是錯誤。不過,如果可能的話,您可能會考慮使用CSS來尋找更好的居中方法。 – Ryan
嗯,我不認爲有一個CSS解決方案,因爲JS填充div,所以我需要首先得到div的維度,然後居中......但這意味着無效的佈局是什麼? – Sir
'offsetHeight'和'offsetWidth'使瀏覽器重新計算佈局,以確保您獲得正確的值。無論這是否是一個我不能說的問題。 –