javascript判斷網(wǎng)頁(yè)中element是否可見的最佳方法。記得以前一直用jQurey的is(":visible")來(lái)判斷,一次偶然在chrome中發(fā)現(xiàn)這個(gè)函數(shù)居然是消耗CPU最多的,這個(gè)函數(shù)效率很低!經(jīng)過(guò)在谷歌的一翻搜尋,終于找到了它:getBoundingClientRect()——獲取element實(shí)際的top、bottom、left、right定位值,我們利用它計(jì)算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)過(guò)了jQuery封裝的,所以需要element[0],原生element自行修改
更多信息請(qǐng)查看IT技術(shù)專欄