首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jquery选择器和setInterval

jquery选择器和setInterval
EN

Stack Overflow用户
提问于 2016-01-26 08:00:39
回答 3查看 368关注 0票数 1

代码语言:javascript
运行
复制
$('#start').click(function() {
  setInterval(fade, 1000);

  function fade() {
    $('.visible:first-child').removeClass('visible').addClass('invisible');
  };
});
代码语言:javascript
运行
复制
.invisible {
  visibility: hidden;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>
  <span class='visible'>Lorem ipsum dolor sit amet,</span>
  <span class='visible'> consectetur adipiscing elit.</span>
  <span class='visible'> Integer nec odio.</span>
</p>
<button id="start">start</button>

我希望<span>标签按顺序褪色。

为此,我将更改<span>标记类的脚本设置为1000 ms。

但它只起了一次作用。

我认为这是因为.visible:first-child从未改变过。

https://jsfiddle.net/dewit/b9Lgdwaj/

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-26 08:06:04

尝试first而不是first-child

下面的工作片段。

代码语言:javascript
运行
复制
$('#start').click(function(){
    setInterval(fade,1000);
    function fade(){
        $('.visible:first').removeClass('visible').addClass('invisible');
    };
});
代码语言:javascript
运行
复制
.invisible {
    visibility: hidden;
}
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<p>
    <span class='visible'>Lorem ipsum dolor sit amet,</span>
    <span class='visible'> consectetur adipiscing elit.</span>
    <span class='visible'> Integer nec odio.</span>
</p>

<button id="start">start</button>

票数 3
EN

Stack Overflow用户

发布于 2016-01-26 08:25:17

第一个子选择器选择作为父元素的第一个子元素的所有元素。这就是为什么你唯一的第一个元素是隐形的。为此您可以使用$('.visible:first')。

票数 2
EN

Stack Overflow用户

发布于 2016-01-26 08:10:49

“:第一个-子”总是指节点的第一个子节点,不包括选择器。因此,当您查询“..visible: first - child”时,如果第一个子节点不是".visible“,则不会产生任何结果。您需要将查询更改为对此进行解释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35009199

复制
相关文章

相似问题

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