【发布时间】:2016-02-24 15:36:22
【问题描述】:
无论如何,我都不是 JavaScript 向导,但我试图找出一种使用 JavaScript 的方法,只需单击一个按钮即可在一系列 DIV 中添加和删除类。假设我有一个列表:
<div id="homepage">
<div class="hpFeature"></div>
<div class="hpFeature"></div>
<div class="hpFeature"></div>
<div class="hpFeature"></div>
<div class="hpFeature"></div>
</div>
<button class="featureButton">Click Here</button>
我的默认 CSS 用于渐进增强,因此至少有一张图片显示为后备:
.hpFeature:nth-child(1) {display:block;}
.hpFeature {display:none;}
.fide {position: absolute; left:-9999px;}
...到目前为止,我的 JavaScript 是这样的:
var count = $('.hpFeature').length;
$(document).ready(function () {
$('.hpFeature').css('display','block');
$('.hpFeature').addClass('fide');
$('.hpFeature:nth-child(' + count + ')').removeClass('fide');
});
$(function(){
$(".featureButton").click(function(){
$('.hpFeature').removeClass('fide');
});
});
所以,我试图找出一种简单的方法来做到这一点,使用 nth-last-child 属性通过 JavaScript 显示第一张图片,然后滚动浏览,然后在点击按钮时转到下一个计数,删除 .fide,最后回到第一个(我似乎无法让 nth-last-child 工作,但可以让 nth-child 工作)。
【问题讨论】:
-
可能是 $('.hpFeature:last')?
-
仅供参考,
$(document).ready(function () {...和$(function() {...正在做同样的事情。您可以将所有代码放在一个或另一个中。 -
感谢@MiniRagnarok 让它更流畅一些,但我仍然不知道如何编写可以转到列表中下一项的 JavaScript;我认为它必须是一个数组?
标签: javascript css css-selectors