【问题标题】:Fade in next two elements on click单击时淡入接下来的两个元素
【发布时间】:2018-04-25 08:08:39
【问题描述】:

我尝试再显示两个 div,每次单击一个按钮。我有两个问题。

  1. 点击时只显示一个(应该显示两个)
  2. 第一次点击后不再重复

我已经尝试过循环或重复,但没有任何效果。哪里错了?

$(".button").click(function() {
  $(".content").nextAll(':lt(2)').fadeIn("slow");
});
.hide { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="content">Content 1</div>
<div class="content">Content 2</div>
<div class="content hide">Content 3</div>
<div class="content hide">Content 4</div>
<div class="content hide">Content 5</div>
<div class="content hide">Content 6</div>
<div class="content hide">Content 7</div>
<div class="content hide">Content 8</div>
<div class="content hide">Content 9</div>
<div class="content hide">Content 10</div>
<div class="button">SHOW ME 2 MORE</div>

这是我的小提琴:https://jsfiddle.net/x25Ldwaj/1/

【问题讨论】:

    标签: jquery show-hide next


    【解决方案1】:

    你的逻辑差不多了,只是选择器不正确。你需要从最后一个可见的.content元素开始,所以你可以使用:visible:last,像这样:

    $(".button").click(function() {
      $(".content:visible:last").nextAll('.content:lt(2)').fadeIn("slow");
      $(this).toggle($(".content:visible:last").index() != $('.content').length);
    });
    .hide { display: none; }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <div class="content">Content 1</div>
    <div class="content">Content 2</div>
    <div class="content hide">Content 3</div>
    <div class="content hide">Content 4</div>
    <div class="content hide">Content 5</div>
    <div class="content hide">Content 6</div>
    <div class="content hide">Content 7</div>
    <div class="content hide">Content 8</div>
    <div class="content hide">Content 9</div>
    <div class="content hide">Content 10</div>
    <div class="button">SHOW ME 2 MORE</div>

    【讨论】:

    • 非常感谢。当不再有要显示的内容时,隐藏 .button 必须发生什么?您是否有解决方法,所以我可以尝试?
    • 当然,您可以使用toggle() 检查最后一项是否可见并根据需要显示/隐藏按钮。我为你更新了答案
    • 哇,太好了!我明白,你做了什么,小提琴正在工作。但是我在我的网站上试过,那里没有用。我在最后复制/粘贴了代码,请参阅:tanzstudio-ludwig.de/test2.html - 为什么? :S
    猜你喜欢
    • 1970-01-01
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 2021-10-13
    • 2012-07-19
    • 2011-08-05
    • 2023-03-20
    • 2010-09-27
    相关资源
    最近更新 更多