$('#start').click(function() {
setInterval(fade, 1000);
function fade() {
$('.visible:first-child').removeClass('visible').addClass('invisible');
};
});
.invisible {
visibility: hidden;
}
<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
从未改变过。
发布于 2016-01-26 08:06:04
尝试first
而不是first-child
。
下面的工作片段。
$('#start').click(function(){
setInterval(fade,1000);
function fade(){
$('.visible:first').removeClass('visible').addClass('invisible');
};
});
.invisible {
visibility: hidden;
}
<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>
发布于 2016-01-26 08:25:17
第一个子选择器选择作为父元素的第一个子元素的所有元素。这就是为什么你唯一的第一个元素是隐形的。为此您可以使用$('.visible:first')。
发布于 2016-01-26 08:10:49
“:第一个-子”总是指节点的第一个子节点,不包括选择器。因此,当您查询“..visible: first - child”时,如果第一个子节点不是".visible“,则不会产生任何结果。您需要将查询更改为对此进行解释。
https://stackoverflow.com/questions/35009199
复制相似问题