【发布时间】:2012-07-22 14:56:38
【问题描述】:
使用 JS 实现这个切换类的更好方法是什么?
这只是在做这样的事情:
当您单击“服务”、“图库”或“客户”时,它会删除下面 div 中的“隐藏”类,并将“隐藏”类添加到同一 div 中的所有其他列表中。
可以在这里看到正在发生的事情的现场演示:http://www.cyberbytesdesign.com/WIP2(它是主要的标题导航)。
这是我正在使用的代码(绝对不是一种有效的方法,因为这不到所有代码的一半,但可以理解)。
<nav>
<ul class="menu-option-set">
<li>
<a href="javascript:;" onmouseup="
document.getElementById('services').classList.toggle('hidden');
document.getElementById('gallery').classList.add('hidden');
document.getElementById('customer').classList.add('hidden');
">Services</a>
</li>
<li>
<a href="javascript:;" onmouseup="
document.getElementById('gallery').classList.toggle('hidden');
document.getElementById('services').classList.add('hidden');
document.getElementById('customer').classList.add('hidden'); ">Gallery</a>
</li>
<li>
<a href="javascript:;" onmouseup="
document.getElementById('gallery').classList.toggle('hidden');
document.getElementById('services').classList.add('hidden');
document.getElementById('customer').classList.add('hidden'); ">Customer</a>
</li>
</ul>
</nav>
<div id="header-subnav">
<nav>
<ul id="services" class="hidden">
<li <?php echo $bathroom ?>><a href="bathroom">Bathroom</a></li>
<li <?php echo $kitchen ?>><a href="index.php">Kitchen</a></li>
<li <?php echo $accessibility ?>><a href="index.php">Accessibility</a></li>
</ul>
<ul id="gallery" class="hidden">
<li <?php echo $photo ?>><a href="gallery.php">Photo Gallery</a></li>
<li <?php echo $project ?>><a href="project.php">Project Gallery</a></li>
</ul>
<ul id="customer" class="hidden">
<li <?php echo $coupons ?>><a href="coupons.php">Coupons</a></li>
<li <?php echo $testimonials ?>><a href="testimonials.php">Testimonials</a></li>
</ul>
<nav>
</div>
我假设您必须以某种方式执行与使用此类似的操作,但已修改:
$('.menu-option-set a').click(function()
{
// if clicked item is selected then deselect it
if ($('#header-subnav').hasClass('hidden'))
{
$('#header-subnav').removeClass('hidden');
}
// otherwise deselect all and select just this one
else
{
$('.menu-option-set a').removeClass('hidden');
$('#header-subnav').addClass('hidden');
}
});
有什么想法吗?
【问题讨论】:
标签: javascript jquery class toggle