我怎样才能停止这种闪烁效果呢?
How can I stop this blinking effect?
本文关键字:闪烁 更新时间:2023-09-26
我有一个Javascript函数,通过替换按钮图像来循环创建闪烁效果。
function blinkit() {
intrvl = 0;
for (nTimes = 0; nTimes < 500; nTimes++) {
intrvl += 1000;
t = setTimeout("document.getElementById('imgshowreport').src='report_icon.png';",intrvl);
intrvl += 1000;
t = setTimeout("document.getElementById('imgshowreport').src='report_icon2.png';",intrvl);
}
}
这是为了达到目的,但是当按钮被点击时,我希望闪烁停止。如何在不刷新整个页面的情况下完成此操作?
使用break
来终止循环是无用的,因为你的循环已经结束,并且在用户可以点击按钮之前设置了所有的超时。
最好使用一次setInterval
,而不是将数百个单独的超时排队。然后你就可以一举结束间隔时间。
你也应该不是使用字符串代码,而是一个函数:
var myInterval = null;
function blinkit() {
var i = 0;
myInterval = setInterval(function() {
document.getElementById('imgshowreport').src = (i % 2) ? 'report_icon2.png' : 'report_icon.png';
i++;
}, 1000);
}
document.getElementById('imgshowreport').onclick = function() {
if (myInterval != null) {
clearInterval(myInterval);
myInterval = null;
document.getElementById('imgshowreport').src = 'report_icon.png';
}
};
我还没有测试它的拼写错误,但基本逻辑是正确的。
可以使用break语法
break;
或
nTimes = 500;
尝试中断http://www.w3schools.com/js/js_break.asp
相关文章:
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 使用jQuery以红色和黑色闪烁文本
- 我的Tizen应用程序在点击时会闪烁
- IE6在启用/禁用文本字段上闪烁
- .scroll()函数在上次更新后在谷歌chrome中定位闪烁
- 页面加载之间闪烁
- 创建闪烁“;文本“;在javascript中
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- 1种颜色的Javascript闪烁文本更长
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- reactjs重新渲染时画布闪烁
- 悬停时setInterval中的图像闪烁
- javascript样式的背景颜色在设置时闪烁.ASP.NET
- 按下按钮时图像持续闪烁
- 什么's导致我的<选择>框在选中时闪烁
- 铬刻度闪烁错误
- 删除闪烁的光标进行网络屏幕截图测试
- 如何在Blogger上获得闪烁的链接
- JavaScript Cookie会在瞬间闪烁隐藏的DIV