繁体   English   中英

jQuery slideUp / slideDown没有动画

[英]jQuery slideUp / slideDown not animating

我正在尝试使用标题和内容创建两个div,当我单击标题时,内容应该向上滑动以隐藏自身。

你可以在JSFiddle上找到我的代码。

我的HTML:

<div id="left-content">
    <div class="news-block">
        <div class="block-head">News membres</div>
        <div class="block-content"></div>
    </div>
    <div class="news-block">
        <div class="block-head">News premium & VIP</div>
        <div class="block-content"></div>
    </div>
</div>

我的JavaScript:

jQuery(document).ready(function($){
    $('div.news-block').on('click', '.block-head', function(){
        var content = $(this).parent().find('div.block-content');
        if (content.is(':visible'))
            content.slideUp("slow");
        else
            content.slideDown("slow");
    });
});

我红了一些帖子说你不能在tbody上使用slideUp()作为例子,或者在浮动div上,但正如你所看到的,我的“内容”div不浮动,这就是为什么我不明白为什么它是不工作

你有什么主意吗 ?

谢谢。

#left-content .news-block .block-content {
    background: #c3c3c3;
    margin-left: 8px;
    height: 50px; 
}

使用height而不是min-height css属性。

欲了解更多信息

http://bugs.jquery.com/ticket/6618

演示:

http://jsfiddle.net/6wyk3ztd/

这是其他解决方案,而无需更改CSS:

$('div.news-block').on('click', '.block-head', function(){
    var content = $(this).parent().find('div.block-content');
    if (content.is(':visible')){
        content.animate({minHeight: '0px'}, 1000, function(){
            $(this).css('display','none');
        });
    }else{
        $(content).css('display','block');
        content.animate({minHeight: '150px'}, 1000);
    }
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM