停止/暂停/中断/中止javascript中的运行函数
stop/pause/break/abort running function in javascript
我有这样一个循环函数:
function blink(selector){
$(selector).fadeOut(800, 'easeInQuint', function(){
$(this).fadeIn(800, function(){
blink(this);
});
});
}
我可以用:
$('#someId').on('click', function() {
blink('#someId2');
});
但是我怎么能阻止它呢?
$('#someOtherId').on('click', function() {
// stop blink function
});
添加闪烁停止条件:
function blink(selector,stop){
if (stop) {
$(selector).stop(true,true).show();
return;
}
$(selector).fadeOut(800, 'easeInQuint', function(){
$(this).fadeIn(800, function(){
blink(this);
});
});
}
$('#someOtherId').on('click', function() {
blink(theidtostop, true)
// stop blink function
});
你也可以用适当的方法把blink
变成一个模块。
var blink = {
blinkingElements: [],
doBlink: function () {
$(this.blinkingelements)
.fadeIn( 800, 'easeInQuint' )
.fadeOut( 800, $.proxy( this.doBlink, this ) );
},
startBlink: function ( el ) {
this.blinkingElements = blinkingElements.concat( $.makeArray(el) );
this.doBlink();
},
stopBlink: function () {
$(this.blinkingElements).stop(true,true).show();
}
clearBlinkingElements: function () {
this.stopBlink();
this.blinkingElements = [];
}
}
$('#someId').on('click', function() {
blink.clearBlinkingElements();
blink.startBlink($('#someId2'));
});
$('#someOtherId').on('click', function() {
blink.clearBlinkingElements();
blink.startBlink($('#someOtherId2'));
});
或
$('.somecommonclass').on('click', function() {
blink.clearBlinkingElements();
blink.startBlink($('#' + this.id + '2'));
});
$('#someOtherId').on('click', function() {
// stop blink function
$('#someId2').stop(true, true)
});
相关文章:
- jQuery在元素的上下文中运行函数
- Promise函数在.then之后未运行函数化
- 在.append之后运行函数
- 在on.change事件之后运行函数
- 如果文本或值以字符开头,请运行函数
- 如何在节点模块中从命令行运行函数
- 在Fancybox中提交表单时运行函数
- Don'如果字段为空,则不运行函数
- Javascript:如何在页面重新加载后运行函数
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 运行函数ifsuccess($.ajax)有200个状态代码
- JavaScript只有在最后一次被调用时才运行函数
- 在异步AJAX调用完成后,通过变量运行函数
- ng中继器打印结果0;当我运行函数时
- 谷歌扩展:如何在弹出窗口中按下按钮时在我的javascript文件中运行函数
- 获取对在 JavaScript 中运行函数的对象的引用
- 运行函数时出错
- 节点.js子进程中的运行函数
- $.getJSON 在返回数据后不会运行函数
- 如果onchange为true,如何运行函数