当div显示时运行javascript

时间:2012-11-16 13:07:36

标签: javascript jwplayer

当DIV出现时我需要运行javascript(停止JWPlayer)。它显示约。页面完全加载后15秒。

到目前为止我的代码

if (document.getElementById("overlay_div")) { jwplayer().stop(); }

我想我的代码在页面加载时会查找overlay_div,而不是在一段时间后(在这种情况下为15秒)

编辑:事实证明DIV实际上一直存在,但它从显示:无切换到显示:在此时间间隔后阻止。有没有办法运行脚本,而div转向显示:block

Edit2:我在@elbunuelo的帮助下自己解决了这个问题 这是代码,以防任何人需要它:

var interval = setInterval(function(){
 if (document.getElementById("overlay_main_div").style.display=="block"){ 
      jwplayer().stop(); 
      clearInterval(interval);
 } }, 1000);

3 个答案:

答案 0 :(得分:0)

您是否尝试过使用间隔?即如果存在div则每1000毫秒检查一次,然后停止播放器?

var interval = setInterval(function(){
     if (document.getElementById("overlay_div")) { 
          jwplayer().stop(); 
          clearInterval(interval);
     }
}, 1000);

答案 1 :(得分:0)

您可以在div之后添加脚本标记,因此它将在标记到位时运行。

<div id="overlay_div"></div>
<script type="text/javascript">
if (document.getElementById("overlay_div")) { jwplayer().stop(); }
</script>

答案 2 :(得分:0)

这取决于div元素的显示方式:

-

var times=0;
function divcheck() {
    if (document.getElementById("overlay_div")) { jwplayer().stop(); }
    else if(times<10) { times++; setTimeout(divCheck,1000); }
    }

setTimeout(divCheck,15000);