我试图在fancybox关闭后让按钮停止闪烁。我已经尝试了我所知道的每一种方式,但我不确定为什么它不会解开。这是代码:
var clicked = true;
var playbtn = $('.playbtn');
function unpulse(){
clicked = false;
playbtn.unbind(pulse);
}
function pulse(){
playbtn.delay(200).fadeOut('slow').delay(50).fadeIn('slow', pulse);
}
if (clicked) {
pulse();
}else if (!clicked) {
alert('finally');
};
$('.playbtn a').fancybox({
'type' : 'iframe',
'transitionIn':'elastic',
'transitionOut' :'elastic',
'speedIn':600,
'speedOut':200,
'overlayShow': false,
'onClosed':unpulse
});
答案 0 :(得分:0)
您正在尝试删除某个事件,因为这是.unbind
所做的事情。 (此外,您的.unbind
语法不受支持,但它不是您所追求的。)相反,只需在pulse
内查看是否继续淡化。这是有效的,因为pulse
是递归调用的,因此每次淡入淡出迭代停止时都会进行检查:
function pulse(){
if(clicked) {
playbtn.delay(200).fadeOut('slow').delay(50).fadeIn('slow', pulse);
}
}