我正在显示产品列表。单击显示更多后,需要显示额外类中的文本,显示更多需要隐藏,显示更少需要可见。当点击显示更少时,需要发生相反的情况。
我使用了下面的 jQuery 代码,它可以工作,但问题是它显示/隐藏在每个块中添加额外的文本。我希望它只显示相关的块。
Javascript
$(document).ready(function() {
$('.extras').css("display", "none");
$('.showmore').click(function() {
$(".extras").toggle();
$('.showmore').hide();
$('.less').show();
});
$('.less').click(function() {
$(".extras").toggle();
$('.extras').hide();
$('.showmore').show()
});
});
HTML
<div class="blocks">
<div class="right">
<ul class="options">
<li class="x"><a href="#">Service 1</a></li>
<li class="y"><a href="#">Service 2</a></li>
<li class="z"><a href="#">Service 3</a></li>
<li class="r"><a href="#">Service 4</a></li>
<li class="k"><a href="#">Service 5</a></li>
</ul>
<div class="showmore"><a>+ show more</a></div>
</div>
<div class="extras">
<p>test text</p>
<div class="less"><a>- hide</a></div>
</div>
</div>
<div class="blocks">
<div class="right">
<ul class="options">
<li class="x"><a href="#">Service 1</a></li>
<li class="y"><a href="#">Service 2</a></li>
<li class="z"><a href="#">Service 3</a></li>
<li class="r"><a href="#">Service 4</a></li>
<li class="k"><a href="#">Service 5</a></li>
</ul>
<div class="showmore"><a>+ show more</a></div>
</div>
<div class="extras">
<p>test text</p>
<div class="less"><a>- hide</a></div>
</div>
</div>
<div class="blocks">
<div class="right">
<ul class="options">
<li class="x"><a href="#">Service 1</a></li>
<li class="y"><a href="#">Service 2</a></li>
<li class="z"><a href="#">Service 3</a></li>
<li class="r"><a href="#">Service 4</a></li>
<li class="k"><a href="#">Service 5</a></li>
</ul>
<div class="showmore"><a>+ show more</a></div>
</div>
<div class="extras">
<p>test text</p>
<div class="less"><a>- hide</a></div>
</div>
</div>
任何帮助将不胜感激。