jQuery:从下到上滑动

one*_*120 6 javascript jquery toggle slide

我正在使用jQuery的slidetoggle,我想知道是否有一种方法可以让它从底部向上滑动,我看到的任何地方似乎无法找到答案,这是我正在使用的代码:

jQuery(document).ready(function(){ 
    jQuery(".product-pic").hover(function(){
        jQuery(this).find('.grid-add-cart').slideToggle('2000', "easeOutBack", function() {
            // Animation complete.
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

Bon*_*ngs 11

你想实现这样的目标吗?

HTML

<div id="box">
    <div id="panel">
    </div>
</div>?
Run Code Online (Sandbox Code Playgroud)

CSS

#box
{
    height: 100px;
    width:200px;
    position:relative;
    border: 1px solid #000;
}
#panel
{
    position:absolute;
    bottom:0px;
    width:200px;
    height:20px;
    border: 1px solid red;
    display:none;
}
Run Code Online (Sandbox Code Playgroud)

JS

$("#box").hover(function(){
    $("#panel").slideToggle();
}, function(){
    $("#panel").slideToggle();
});?
Run Code Online (Sandbox Code Playgroud)

或根据Roko建议的更新

var panelH = $('#panel').innerHeight();

$("#box").hover(function(){
    $("#panel").stop(1).show().height(0).animate({height: panelH},500);
}, function(){
    $("#panel").stop(1).animate({height: 0},500, function(){
      $(this).hide();  
    });
});?
Run Code Online (Sandbox Code Playgroud)

  • 正如您所看到的,评论是使用slideToggle的最大改进示例 - 防止*fast-multiple-mouseovers*和以下是一个很好的例子,`.animate()`和`.stop()`http://jsfiddle.net/mt5他/我只是想说,我永远不会给那些带有一些我永远不会使用的代码的人举个例子.没有不好的感觉.干杯! +1 (2认同)

j08*_*691 10

您可以通过在要切换的元素上使用包装器来完成此操作.将包装器的位置设置为relative,并将元素的位置切换为绝对,并将bottom属性设置为零.

像这个jsFiddle例子.

jQuery的:

$("button").click(function() {
    $("p").slideToggle("slow");
});?
Run Code Online (Sandbox Code Playgroud)

CSS:

p { 
    position:absolute;
    bottom:0;
    display:none;
    padding:0;
    margin:0;
}

div {
    position:relative;
    width:300px;
    height:100px;
}
Run Code Online (Sandbox Code Playgroud)