delay()不会'第二次工作jquery
delay() doesn't work second time jquery
我对jquery的delay()有问题。我使用了一个if,else-if条件和一个变量:
var myvar = false;
function OpenAnimation(Clicked) {
if (myvar == true) {
$(Clicked).removeClass('open_peak');
myvar = false;
} else if (Clicked == 'an ID') {
$(Clicked).delay(500).queue(function () { $(this).addClass('open_peak') });
myvar = true;
}
该函数在传递每个ID的情况下都能正常工作。但当我第二次为已经拥有并"丢失".open_peak的ID运行该函数时(顺便说一下,它是OnClick),类.open_ppeak不适用于该元素。
所以当我打开一个窗口时,它会显示:
} else if (Clicked == 'an ID') {
$(Clicked).delay(500).queue(function () { $(this).addClass('open_peak') });
myvar = true; //which tells me that a window(element) is indeed open
}
当我关闭它时:
if (myvar == true) {
$(Clicked).removeClass('open_peak');
myvar = false;//No window is opened
}
我还有很多代码,但不适用的是.open_peak。
这里有一个JSFiddle,您可以在其中看到问题:http://jsfiddle.net/at3eyLoL/
从jQuery文档:
请注意,当添加带有.requeue()的函数时,我们应该确保最终调用.dequeue(,以便执行行中的下一个函数。
添加$(this).dequeue();在延迟之后调用的函数中。
相关文章:
- Javascript Select OnChange没有'不要第二次工作
- 提交按钮只能在onchange调用输入文本后第二次点击时工作
- Jquery - ZeroClipboard只能在第二次点击中工作
- $.getScript 第二次工作
- jQuery on(change);不要第二次工作
- jQuery.on('点击',function()只在第二次点击时工作
- CasperJS评估函数第二次不工作
- delay()不会'第二次工作jquery
- Jquery网格在第二次加载时不工作
- 它在第二次点击时完成工作,为什么
- 日期选择器 getDate 方法在第二次单击时工作并显示上一个选定的日期
- jsPDF 在第一次保存时工作,在第二次保存时不更新
- JavaScript 我的函数在第二次被点击时将无法工作
- 图库在第二次使用后停止工作
- jQuery 在第二次抠像后停止工作
- Angularjs 登录 cookie 第二次工作
- Angular$location change path第二次工作,而不是第一次
- Javascript OnSubmit不是't第二次工作
- ASP.NET MVC/jQuery/AAJAX:链接第一次无法工作,但第二次工作(在页面重新加载后)
- tinymce图像插入,第二次工作,但不是第一次