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