首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让toggleClass动画像slideToggle一样?

让toggleClass动画像slideToggle一样?
EN

Stack Overflow用户
提问于 2018-08-14 20:48:13
回答 1查看 36关注 0票数 1

我有一个列表,它显示前三个列表项,其中有一个链接来展开/折叠列表。如果列表有3个或更少的项,则展开/折叠链接不会显示。

当列表展开/折叠时,我遇到的问题是动画。我希望列表幻灯片类似于slideToggle的工作方式,而不是消失。不幸的是,我无法让它与我的代码一起工作。

有人有什么建议吗?任何帮助都将不胜感激!

下面是我的代码,这是我的代码。https://codepen.io/anon/pen/OwGKog

代码语言:javascript
复制
<div id="feature-list">

  <ul id="product-features">
    <li>Feature 1</li>
    <li>Feature 2</li>
    <li>Feature 3</li>
    <li>Feature 4</li>  
    <li>Feature 5</li>
    <li>Feature 6</li>  
  </ul>

  <span id="feature-more">More Features</span>
  <span id="feature-less">Less Features</span>

</div>

CSS

代码语言:javascript
复制
#feature-list li:nth-child(n+4) {
    display: none;
}

#feature-list.open li:nth-child(n+4) {
    display: list-item;
}

#feature-more,
#feature-less {
    color: blue;
    display: none;
    cursor: pointer;
}

JS

代码语言:javascript
复制
$( document ).ready(function() {
    $('#feature-list #feature-more').on('click', function(e) {
        e.preventDefault();
        $(this).closest('#feature-list').toggleClass('open');
        $('#feature-more').hide();
        $('#feature-less').show();
    });
    $('#feature-list #feature-less').on('click', function(e) {
        e.preventDefault();
        $(this).closest('#feature-list').toggleClass('open');
        $('#feature-less').hide();
        $('#feature-more').show();
    });
    if ($('#feature-list > ul > li').length > 3) {
        $('#feature-more').show();
    }  
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 21:40:45

在这里,这看起来很管用。

代码语言:javascript
复制
$( document ).ready(function() {
$('#feature-list #feature-more').on('click', function(e) {
    e.preventDefault();
    $('ul li:gt(2)').slideToggle();
    $('#feature-more').hide();
    $('#feature-less').show();
});
$('#feature-list #feature-less').on('click', function(e) {
    e.preventDefault();
    $('ul li:gt(2)').slideToggle();
    $('#feature-less').hide();
    $('#feature-more').show();
});
if ($('#feature-list > ul > li').length > 3) {
    $('#feature-more').show();
}  
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51849562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档