你好。
我有一个继续和停止功能。
当我通过单击其中一个蓝色框来调用停止功能时,它会在 1 毫秒后调用继续功能。
我的问题是,当我单击“文档”时,它应该再次调用停止功能,但它没有这样做,这里有一个小提琴供仔细查看。
PS:在 javascript 代码中,您必须一直向下滚动,因为我无法包含 Jquery 插件。
我在我的编码开始的地方用这条评论标记了我的问题:
//############ here starts my part ####################
如评论中所示,不要每次stop()
调用都重新绑定您的事件。让我们将绑定移出,我们还将使用stopPropgation()
,以便单击事件不会冒泡到文档,这将触发插件再次启动其 mojo:
function stop(){
$("#webticker").trigger('click'); //This method doesn't provide anything, except perhaps making code a bit more readable
}
$("#webticker").click(function(event){
event.stopPropagation(); //If we don't stop propagation, the click event will bubble up to the document, which will start the ticker again
$("#webticker").webTicker('stop');
if($(event.target).is('#img1')) {
$('#log').html(event.target.id + ' was clicked.');
timer = setTimeout(contin, 1);
} else if($(event.target).is('#img2')){
$('#log').html(event.target.id + ' was clicked.');
timer = setTimeout(contin, 1);
} else if($(event.target).is('#img3')){
$('#log').html(event.target.id + ' was clicked.');
timer = setTimeout(contin, 1);
} else if($(event.target).is('#img4')){
$('#log').html(event.target.id + ' was clicked.');
timer = setTimeout(contin, 1);
} else if($(event.target).is('#img5')){
$('#log').html(event.target.id + ' was clicked.');
timer = setTimeout(contin, 1);
}
});
JSFiddle:http: //jsfiddle.net/rLyyR/6/