Javascript setInterval函数中的onClick切换类
怎么了? 过渡滞后太多,有时会停止工作 怎么了 问题是,您以450毫秒的间隔绑定了太多的Javascript setInterval函数中的onClick切换类,javascript,jquery,setinterval,Javascript,Jquery,Setinterval,怎么了? 过渡滞后太多,有时会停止工作 怎么了 问题是,您以450毫秒的间隔绑定了太多的单击事件,这将导致浏览器消耗太多内存,最终浏览器将没有响应 另一个值得注意的是,您将得到绑定事件数的“n”。所以,由于它是一个连续的过程,所以在每次迭代时,它将绑定一个事件,这意味着如果两次迭代,那么将执行两次回调 我想你可以这样做: setInterval(function () { $("#bound").click(function () { $(".top").toggleClass("one
单击事件,这将导致浏览器消耗太多内存,最终浏览器将没有响应
另一个值得注意的是,您将得到绑定事件数的“n”。所以,由于它是一个连续的过程,所以在每次迭代时,它将绑定一个事件,这意味着如果两次迭代,那么将执行两次回调
我想你可以这样做:
setInterval(function () {
$("#bound").click(function () {
$(".top").toggleClass("one");
$(".middle").toggleClass("two");
$(".bottom").toggleClass("three");
$(".nav-menu").toggleClass("menu-show");
});}, 450);
$(“#绑定”)。单击(函数(){
setTimeout(function(){/如果需要单击事件后的延迟,应将setInterval
函数放入click
函数中:
$("#bound").click(function () {
setTimeout(function () { // <------change it to setTimeout if u don't make it infinite
$(".top").toggleClass("one");
$(".middle").toggleClass("two");
$(".bottom").toggleClass("three");
$(".nav-menu").toggleClass("menu-show");
}, 450);
});
为什么使用setInterval?为什么要使用setInterval?你到底想实现什么?就像下面的回答中提到的@Jai一样,setInterval绑定了太多的点击事件,这会减慢浏览器的速度。所以我们需要知道你的目标是什么,当我点击菜单图标时,它应该等待450毫秒,然后触发切换类n操作,当我再次单击菜单图标时,它应该再等待450毫秒。@PraveenBisht好的,然后您将根据我的回答使用setInterval
进行更改,它将对每个事件仅执行一次。将setInterval放入其中将触发持续时间为450的无限转换。是的,与您当前的情况相同我想您可以使用setTimeout
。
$("#bound").click(function () {
setInterval(function () {
$(".top").toggleClass("one");
$(".middle").toggleClass("two");
$(".bottom").toggleClass("three");
$(".nav-menu").toggleClass("menu-show");
}, 450);
});