1

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

我到目前为止的代码

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

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

编辑:事实证明 DIV 实际上一直都在那里,但它从 display: none 切换到 display:block 在此时间间隔之后。有什么方法可以运行 div 显示的脚本:块

Edit2:在@elbunuelo 的帮助下,我设法自己解决了这个问题,如果有人需要,下面是代码:

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

3 回答 3

1

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

<div id="overlay_div"></div>
<script type="text/javascript">
if (document.getElementById("overlay_div")) { jwplayer().stop(); }
</script>
于 2012-11-16T13:22:12.323 回答
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);
于 2012-11-16T13:25:14.997 回答
0

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

var interval = setInterval(function(){
     if (document.getElementById("overlay_div")) { 
          jwplayer().stop(); 
          clearInterval(interval);
     }
}, 1000);
于 2012-11-16T13:16:21.367 回答