2013-05-07 47 views
1

我想在元素上执行slideUp或slideDown时调用函数。这可能吗?是否有可能将处理程序绑定到jQuery效果?

喜欢的东西:

$('#panel').on('slideUp', function() { open--; }); 
$('#panel').on('slideDown', function() { open++; }); 

更新:问题是,有一吨幻灯片呼叫(例如:$()效果基本show())的所有在网页内Ajax响应,哈希链接点击等。我希望能以某种方式绑定到幻灯片,而不是为每个调用函数添加代码。

+0

使用幻灯片方法的回调... – elclanrs 2013-05-07 01:10:56

回答

1

因为没有这样的事件,所以无法绑定到事件。

但是你可以通过一个处理动画完成

$('#panel').slideUp(function() { ... }); 

http://api.jquery.com/slideUp/

+0

这个样子像它可能是可行的,我会在下班后尝试。 – Josh 2013-05-07 11:45:37

+0

这会起作用。我遇到了另一个障碍,使整个事情变得不可行,但在此之前,这一切进展顺利。 :) 谢谢。我没有意识到这个回调。 – Josh 2013-05-08 00:36:41

1

如果你真的想这样做,之后将被调用,您可以使用自定义事件和自己的小插件,东西像这样:

$.fn.mySlideToggle = function() { 
    this.slideToggle(); 
    this.trigger('mySlideToggle'); 
} 

$('div').on('mySlideToggle', function(){ console.log('hey') }); 
$('button').on('click', function(){ $('div').mySlideToggle(); }); 

这里有一个小的演示(检查控制台):http://jsbin.com/asejif/2/edit

在你的情况下它是多余的,因为你可以使用滑动事件提供的回调,但它可能对其他事情有用...

相关问题