我的初始点击setInterval工作得很好但是一旦我点击另一个"容器",我就会得到奇怪的行为.我觉得每次点击事件开始时的clearInterval()都可以完成这项任务,但事实并非如此.我错过了什么?
$('.container #audio1 div:first').on( "click", function() { setInterval(function() { $("#time").html(Math.round(sound.currentTime)+ ":00 / 31:00"); }, 250); }) $('.container #audio2 div:first').on( "click", function() { setInterval(function() { $("#time").html(Math.round(sound.currentTime)+ ":00 / 31:00"); }, 250); })
Arun P Johny.. 5
存储对间隔的引用并使用clearInterval()清除它
var interval; $('.container #audio1 div:first').on("click", function () { clearInterval(interval); interval = setInterval(function () { $("#time").html(Math.round(sound.currentTime) + ":00 / 31:00"); }, 250); }) $('.container #audio2 div:first').on("click", function () { clearInterval(interval); interval = setInterval(function () { $("#time").html(Math.round(sound.currentTime) + ":00 / 31:00"); }, 250); })
注意:如果您单击两次相同的按钮,这将清除上一个间隔,我认为这是您可能需要的
存储对间隔的引用并使用clearInterval()清除它
var interval; $('.container #audio1 div:first').on("click", function () { clearInterval(interval); interval = setInterval(function () { $("#time").html(Math.round(sound.currentTime) + ":00 / 31:00"); }, 250); }) $('.container #audio2 div:first').on("click", function () { clearInterval(interval); interval = setInterval(function () { $("#time").html(Math.round(sound.currentTime) + ":00 / 31:00"); }, 250); })
注意:如果您单击两次相同的按钮,这将清除上一个间隔,我认为这是您可能需要的