les*_*dru 7 javascript jquery siblings
我有以下jQuery:
<script type="text/javascript">
$('.showFood').on('click', function () {
$(this).addClass('selected').siblings().removeClass('selected');
$('.targetFood').hide();
$('#food' + $(this).data('target')).show(function() {
$('#food' + $(this).data('target')).toggle("slide");
});
});
$('.showFood').first().click();
</script>
Run Code Online (Sandbox Code Playgroud)
以下HTML:
<ul class="menus-nav">
<li><a href="#menu1" class="showFood" data-target="1">Menu 1</a></li>
<li><a href="#menu2" class="showFood" data-target="2">Menu 2</a></li>
<li><a href="#menu3" class="showFood" data-target="3">Menu 3</a></li>
</ul>
<div id="food1" class="targetFood">
<p>Items from menu 1</p>
</div>
<div id="food2" class="targetFood">
<p>Items from menu 2</p>
</div>
<div id="food3" class="targetFood">
<p>Items from menu 3</p>
</div>
Run Code Online (Sandbox Code Playgroud)
一切正常,除非您浏览菜单时不会删除所选的类,一旦您单击所有菜单,它们都会选择该类.
我在javascript或jquery方面没有很好的经验,你们有些人可以给我一些帮助吗?
注意:html已经减少用于演示目的.
nal*_*oxx 10
这行代码可能是您的问题:
$(this).addClass('selected').siblings().removeClass('selected');
Run Code Online (Sandbox Code Playgroud)
您可能希望先删除这些类,然后将其添加到所选元素:
$('.selected').removeClass('selected'); // remove all current selections
$(this).addClass('selected') // select this element
Run Code Online (Sandbox Code Playgroud)
你可以试试
$('.showFood').on('click', function () {
$('.showFood').removeClass('selected');// here remove class selected from all showfood
$(this).addClass('selected');// here apply selected class on clickable showfood
$('.targetFood').hide();
$('#food' + $(this).data('target')).show(function() {
$('#food' + $(this).data('target')).toggle("slide");
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12481 次 |
| 最近记录: |