当div出现时运行javascript
当DIV出现时,我需要运行javascript(停止JWPlayer)。页面完全加载后约15秒显示 到目前为止我掌握的代码当div出现时运行javascript,javascript,jwplayer,Javascript,Jwplayer,当DIV出现时,我需要运行javascript(停止JWPlayer)。页面完全加载后约15秒显示 到目前为止我掌握的代码 if (document.getElementById("overlay_div")) { jwplayer().stop(); } 我猜我的代码在页面加载时查找overlay_div,而不是在一段时间后(本例中为15秒) 编辑:事实证明DIV实际上一直在那里,但在这个时间间隔之后它会从display:none切换到display:block。有没有办法运行脚本whan
if (document.getElementById("overlay_div")) { jwplayer().stop(); }
我猜我的代码在页面加载时查找overlay_div,而不是在一段时间后(本例中为15秒)
编辑:事实证明DIV实际上一直在那里,但在这个时间间隔之后它会从display:none切换到display:block。有没有办法运行脚本whan div turns to display:block
编辑2:在@Elbunelo的帮助下,我自己解决了这个问题
以下是代码,以防任何人需要它:
var interval = setInterval(function(){
if (document.getElementById("overlay_main_div").style.display=="block"){
jwplayer().stop();
clearInterval(interval);
} }, 1000);
你试过使用间歇时间吗?i、 e.每1000毫秒左右检查一次div是否存在,然后停止播放器
var interval = setInterval(function(){
if (document.getElementById("overlay_div")) {
jwplayer().stop();
clearInterval(interval);
}
}, 1000);
你试过使用间歇时间吗?i、 e.每1000毫秒左右检查一次div是否存在,然后停止播放器
var interval = setInterval(function(){
if (document.getElementById("overlay_div")) {
jwplayer().stop();
clearInterval(interval);
}
}, 1000);
您可以在div之后添加脚本标记,这样它将在标记就位时运行
<div id="overlay_div"></div>
<script type="text/javascript">
if (document.getElementById("overlay_div")) { jwplayer().stop(); }
</script>
if(document.getElementById(“overlay_div”){jwplayer().stop();}
您可以在div之后添加script标记,这样它将在标记就位时运行
<div id="overlay_div"></div>
<script type="text/javascript">
if (document.getElementById("overlay_div")) { jwplayer().stop(); }
</script>
if(document.getElementById(“overlay_div”){jwplayer().stop();}
这取决于div元素的显示方式:
- 在代码中:只需调用函数;)李>
- 在第三方代码中:
- 如果节点插入到DOM树中,则使用变异事件观察程序
- 如果节点以另一种不可检测的方式(CSS添加)显示,并且作为前一种方法的回退,只需创建一个超时调用,并将其限制为n次:
var时间=0;
函数divcheck(){
if(document.getElementById(“overlay_div”){jwplayer().stop();}
否则,如果(乘以则取决于div元素的显示方式:
- 在代码中:只需调用函数;)
- 在第三方代码中:
- 如果节点插入到DOM树中,则使用变异事件观察程序
- 如果节点以另一种不可检测的方式(CSS添加)显示,并且作为前一种方法的回退,只需创建一个超时调用,并将其限制为n次:
-
var时间=0;
函数divcheck(){
if(document.getElementById(“overlay_div”){jwplayer().stop();}
否则如果(times)将jwplayer().stop()放在实际显示div的同一个函数中,而不是将逻辑基于div可见性,不是更好吗?将jwplayer().stop()放在实际显示div的同一个函数中,而不是将逻辑基于div可见性,不是更好吗在实际显示div的同一个函数中?谢谢,这很有帮助,但是,事实证明div实际上一直在那里,但它在这个时间间隔后从display:none切换到display:block。有没有办法运行脚本whan div转向display:block?我知道如何在Mootools中执行此操作,但我不记得如何获取sp本机Javascript中的特定样式规则。您是否使用任何框架?快速编辑:如果您没有使用任何框架,post可能会很方便。只需获取“显示”样式并检查其是否设置为block,而不是检查元素是否存在。这很有帮助,但是,事实证明DIV实际上一直存在,但它从disp切换lay:none to display:block在这个时间间隔之后。有没有办法运行script whan div转为display:block?我知道如何在Mootools中实现,但我不记得如何在本机Javascript中获得特定的样式规则。你使用任何框架吗?快速编辑:如果你没有使用任何框架,post可能会很方便。只需获取“display”命令即可le并检查其是否设置为block,而不是检查元素是否存在