javascript判斷網頁中element是否可見的最佳方法。記得以前一直用jQurey的is(":visible")來判斷,一次偶然在chrome中發現這個函數居然是消耗CPU最多的,這個函數效率很低!經過在谷歌的一翻搜尋,終于找到了它:getBoundingClientRect()——獲取element實際的top、bottom、left、right定位值,我們利用它計算element的高度,如果為0,即可認為element不可見。關鍵是,幾乎所有瀏覽器都支持getBoundingClientRect。 具體代碼如下:
function isVisible(element) {
var rect = element[0].getBoundingClientRect();
return !!(rect.bottom - rect.top);
}
//這是jsGen中的代碼片段,element是經過了jQuery封裝的,所以需要element[0],原生element自行修改
更多信息請查看IT技術專欄