我在屏幕上有不同的控件并异步隐藏和显示它们。有什么方法可以跟踪元素何时在屏幕上真正可见?我实际上想在发生这种情况时获得回调并将焦点移到该元素上!
问问题
194 次
2 回答
1
尝试这个
var trk = new Array("element1","element2","element3"); // add elements IDS whom you want to track
window.onload = function(){
track();
}
function track()
{
var ele;
for(var i=0;i<trk.length;i++)
{
ele= document.getElementById(trk[i]);
if(ele)
{
if(ele.style.display!="none")
{
// do something
}
}
}
setTimeout(function(){track();},1);
}
于 2013-09-08T18:17:15.193 回答
0
我能想到的唯一方法是有一个 setInterval 方法来检查 element.style.display!=="none",或者你用来隐藏和显示元素的任何其他方法。
就像是:
var myInterval = setInterval(function()
{
var element = document.getElementByID("SomeElement");
if( element.style.display!=="none" || element.style.visibility!=="hidden")
{
//exit the interval
clearInterval(myInterval);
doSomeFunction();
}
}, 20);
于 2013-09-08T18:19:06.217 回答