slideToggle()可以检测SlideUp或SlideDown吗?

我知道hover()handInhandOut默认设置,但无论如何我可以在SlideToggle检测到slideUpSlideToggle吗?

有这样的代码:

 $("#divName").slideToggle(function(){//when slideUp, do something}, function(){//when slideDown, do something}); 

我尝试了这段代码,但没有运气,你们认为这有时会让事情变得更容易吗?

slideToggle不允许将其作为默认值,但编写自己的版本很容易。 像这样的东西可以作为替代处理程序:

 $('#divTrigger').click(function () { // Or bind to any other event you like, or call manually var $t = $('#divToSlide'); if ($t.is(':visible')) { $t.slideUp(); // Other stuff to do on slideUp } else { $t.slideDown(); // Other stuff to down on slideDown } }); 

同样,如果你想在slideUp或slideDown之后发生动作,你可以将它们放入回调中,就像这个$.slideUp(300, function() {// Callback here});

如果您检查幻灯片的状态并且比function更好怎么办?

 $("#divName").slideToggle(function(){ var check=$(this).is(":hidden"); if(check == true) { //do something } }); 

你总是可以保留一个标志,因为纯jQuery中没有方法。 假设#divName不可见,

 var toggle_flag = 0; $('#divName').click(function () { $('#myelement').slideToggle(); if(toggle_flag==0){ //code for slide down toggle_flag=1; }else{ //code for slide up toggle_flag=0; } }); 

如果#divName已经可见,则可以使用var toggle_flag=1;启动var toggle_flag=1; 并使用此代码。