11

我知道andhover()有默认设置,但无论如何我可以检测到and在里面吗?handInhandOutslideUpSlideDownSlideToggle

有这样的代码:

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

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

4

3 回答 3

10

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});

于 2013-10-29T11:49:28.127 回答
4

如果您检查幻灯片的状态并制作比功能怎么办?

$("#divName").slideToggle(function(){
    var check=$(this).is(":hidden");

    if(check == true)
    {
     //do something
    }
});
于 2013-10-29T11:46:34.687 回答
1

你总是可以保留一个标志,因为在纯 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;并使用此代码。

于 2015-04-28T12:12:56.013 回答