jquery - 单击下拉列表(元素后元素)

标签 jquery html css list click

我有一行文本,下面有一个列表。我想单击文本,列表就会下拉——具体来说,一个元素一个接一个地快速连续出现,以提供一个很好的平滑效果。我希望这是清楚的。实现这一目标的最佳方法是什么?下面的代码。谢谢。

注意:到目前为止,几乎没有 javascript/jquery 知识。抱歉。

HTML:

<p class="facilities" style="color:#009ee3" id="perth-features">Key features</p>        
  <ul class="facilities" id="perth-list">
    <li>15,000m² heavy duty concrete hardstand open storage</li>
    <li>1,900m² heavy duty concrete undercover canopy area</li>
    <li>5,550m² high truss warehouse space</li>
    <li>1,600m² maintenance facility</li>
    <li>45,000 Litre self bunded diesel fuelling station</li>
    <li>700m² Spare parts area for fleet &amp; rental spares</li>
    <li>460m² segregated undercover</li>
    <li>90m² truck wash bay facility with oil separation system</li>
    <li>Onsite lifting to 16tonne</li>
  </ul>
</p>

CSS

#perth-list {
  display: none;
}

最佳答案

使用 JQuery,您可以按照以下方式做一些事情:

var speed = 100

$("#perth-features").click(function() {
  var canAnimate = true;
  $("ul#perth-list li").each(function(index) {
    if ($(this).is(":animated"))
      return canAnimate = false;
  });

  if (canAnimate)
    $("ul#perth-list li").each(function(index) {
      if (!$(this).is(":visible"))
        $(this).delay(speed * index).slideDown(speed);
      else
        $(this).delay(speed * ($("ul#perth-list li").length - index)).slideUp(speed);
    });
});
ul#perth-list li {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p class="facilities" style="color:#009ee3" id="perth-features">Key features</p>
<ul class="facilities" id="perth-list">
  <li>15,000m² heavy duty concrete hardstand open storage</li>
  <li>1,900m² heavy duty concrete undercover canopy area</li>
  <li>5,550m² high truss warehouse space</li>
  <li>1,600m² maintenance facility</li>
  <li>45,000 Litre self bunded diesel fuelling station</li>
  <li>700m² Spare parts area for fleet &amp; rental spares</li>
  <li>460m² segregated undercover</li>
  <li>90m² truck wash bay facility with oil separation system</li>
  <li>Onsite lifting to 16tonne</li>
</ul>

$("#perth-features").click(func.... 当点击id为perth-features的元素时...

$("ul#perth-list li").each(function(index) 用于列表中的每个元素 - 使用索引作为参数...

$(this).delay(400 * index).fadeIn(300); 使用增量淡入淡出延迟淡入列表中的每个元素。

关于jquery - 单击下拉列表(元素后元素),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41978442/

相关文章:

c# - 为什么我不能使用 ajax 将参数发送到操作方法?

javascript - 循环遍历 jquery 对象的惰性语法

javascript - 一切正常,但无法在与 C++ 连接的应用程序中通过 ID 访问元素?

javascript - 谁能解释为什么 jQuery 附加的内联 block 元素会丢失空间?

html - 如何使用 CSS 和悬停替换文本?

javascript - 下拉菜单在父级下方居中,溢出 : hidden

jquery - 对使用 $() 函数保存变量时感到困惑

html - 为什么 React.js 会删除 <img/> 上的 srcset 标签?

html - 在页面导航被导航栏隐藏

css - 使用变量和百分比值在页面上定位元素