2013-05-07 44 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

在你的情況下它是多餘的,因爲你可以使用滑動事件提供的回調,但它可能對其他事情有用...

相關問題