NI正在尝试在网站上设置新闻区。。每个项目都包含在自己的div类.newitem中。我希望能够单击.showmorenews来显示另一个项目。我做错了什么?我想不通,而且我对jquery还很陌生。谢谢
$(document).ready(function(){
var remixnewsshow = 2;
remixnewsshow--; //fix variable since the index for :gt starts at 0
$(".newsitem:gt(" + remixnewsshow + ")").hide();
$(".showmorenews").click(function () {
remixnewsshow++;
$(".newsitem:gt(" + remixnewsshow + ")").show();
});
});
html:
<div class="box-news">
<h3>Recent News</h3>
<div class="newsitem">
<span class="month">Jan</span>
<span class="day">16</span>
<span class="news">Text text text</span>
</div>
<div class="newsitem">
<span class="month">Jan</span>
<span class="day">2</span>
<span class="news">Text text text</span>
</div>
<div class="newsitem">
<span class="month">Oct</span>
<span class="day">3</span>
<span class="news">Text Text Text</span>
</div>
<div class="showmorenews"><a href="#blank">View Another News Item</a></div>
</div>
我认为您想要的实际上是将第二个gt
更改为eq
:
$(".showmorenews").click(function () {
remixnewsshow++;
$(".newsitem:eq(" + remixnewsshow + ")").show();
});
你所做的问题是,你最初显示的是2个元素,然后当点击时,你会显示所有大于2的元素,这就是剩下的所有元素。你只想显示下一个元素。