2 回答
TA贡献1830条经验 获得超9个赞
递归将调用 setTimeout 并切换 div 的外观。
Video1 将每隔 5 秒播放一次。一旦关闭,它将在 20-120 [s] 间隔内保持这种状态,并且这种情况将无限期地重复。
function callTimeout(isOpen, time) {
setTimeout(function() {
if (isOpen) {
document.getElementById('Video1').style.display = 'none';
time = (Math.floor(Math.random() * 120) + 20) * 1000;
} else {
document.getElementById('Video1').style.display = '';
time = Math.floor(Math.random() * 6) * 1000;
}
isOpen = !isOpen;
callTimeout(isOpen, time);
}, time);
}
callTimeout(true, Math.floor(Math.random() * 6) * 1000)
<html>
<head></head>
<body>
<div class="Video1" id="Video1" name="Video1">Video1</div>
<div class="Video2" id="Video2" name="Video2">Video2</div>
</body>
</html>
TA贡献1802条经验 获得超5个赞
非常好,非常感谢尤金。
我修改了参数以使其更加动态。它太慢了,无法产生故障/无故障效果。
function callTimeout(isOpen, time) {
setTimeout(function() {
if (isOpen) {
document.getElementById('Video1').style.display = 'none';
time = (Math.floor(Math.random() * 4) + 1) * 1000;
} else {
document.getElementById('Video1').style.display = '';
time = Math.floor(Math.random() * 2) * 1000;
}
isOpen = !isOpen;
callTimeout(isOpen, time);
}, time);
}
callTimeout(true, Math.floor(Math.random() * 3) * 1000)
<div class="Video1" id="Video1" name="Video1">Video1</div>
<div class="Video2" id="Video2" name="Video2">Video2</div>
添加回答
举报