У меня есть переключатель в моем меню. Работаю успешно для двух ссылок, которые у меня есть. Потому что верхняя ссылка, однажды переключенная, покрывает другую ссылку, нет проблем. Но так как ссылка под ним оставляет верхнюю ссылку открытой, пользователь может щелкнуть ее и теперь открыть два переключаемых элемента и в значительной степени уложить друг на друга. Есть ли способ проверить, открыт ли другой загруженный элемент, и если да, закройте его? Благодаря!JQuery Close/Open Multiple Toggles
<div class="parents-toggle">
<a href="#" id="customize-toggle">Customize</a><br/>
<div class="menu-toggle hidden" id="customize-menu">
<div class="menu-toggle-one">
<h3>Background</h3>
<ul>
<li><a href="#">Dark Wood</a></li>
<li><a href="#">Wallpaper</a></li>
<li><a href="#">Bricks</a></li>
<li><a href="#">Planks</a></li>
<li><a href="#">Default</a></li>
</ul>
</div>
<div class="menu-toggle-two">
<h3>Layout</h3>
<ul>
<li><a href="#">Grid</a></li>
<li><a href="#">List</a></li>
<li><a href="#">Full</a></li>
</ul>
</div>
</div>
</div>
<a href="/submit/">Submit video</a><br/>
<div class="parents-toggle">
<a href="#" id="channels-toggle">Channels</a>
<div class="menu-toggle hidden" id="channels-menu">
<div class="menu-toggle-one">
<ul>
<li><a href="#">Automotive</a></li>
<li><a href="#">Comedy</a></li>
<li><a href="#">Movies</a></li>
<li><a href="#">Weather</a></li>
</ul>
</div>
<div class="menu-toggle-two">
<ul>
<li><a href="#">Business</a></li>
<li><a href="#">Commercials</a></li>
<li><a href="#">Music</a></li>
<li><a href="#">Technology</a></li>
</ul>
</div>
</div>
</div>
</div>
<script>
$("#customize-toggle").click(function() {
$("#customize-menu").toggle();
});
$("#channels-toggle").click(function() {
$("#channels-menu").toggle();
});
</script>
Это замечательно! Спасибо за помощь. – Pedro
Ник, есть ли причина, по которой это отлично работает в FF, но в Chrome или Safari событие не срабатывает, и ни одно меню не открывается. Когда я смотрю на вашу демоверсию, они работают нормально во всех браузерах, но я не добавил туда ничего другого. Есть предположения? Благодаря! – Pedro
@Pedro - убедитесь, что ваш код завернут внутри 'document.ready', например:' $ (function() {... answer code here ...}); 'поэтому он запускается после того, как элементы готовы. –