Моя цель:toggleClass, чтобы показать/скрыть DIV не работает со вторым элементом
- имеют набор миниатюр.
- Нажмите на миниатюру toggleClass
hiddenElement
и покажите большое изображение внутри div, который скрыт. - Щелкните в любом месте DOM, и он скроет или разрешит пользователю переключиться на следующий div (если щелкнул значок миниатюры № 2).
Проблема:
Моя проблема появилась, когда я добавил свой removeClass
в моей JQuery. Я думаю, что это мешает моему toggleClass, но я не совсем уверен, правильно ли я его структурировал. Поэтому, когда пользователь нажимает на большое изображение или где-либо в DOM, он не может переключать класс.
Моя структура DOM:
<div class="wrap">
<!-- Hidden elements -->
<div id="port1_large" class="hiddenElement">
<img src="assets/portfolio-images/portfolio_content/project1.jpg">
</div>
<div id="port2_large" class="hiddenElement">
<img src="assets/portfolio-images/portfolio_content/project2.jpg">
</div>
<!-- /Hidden elements -->
<!-- Thumbnails -->
<div id="portfolio">
<ul class="portfolio-grid">
<li>
<a id="port1_thumb" target="portfolio">
<img src="assets/portfolio-images/portfolio_thumbnails/thumbnail_1.png" alt="img01"/>
<h3>Project 1</h3>
</a>
</li>
<li>
<a id="port2_thumb"
target="portfolio">
<img src="assets/portfolio-images/portfolio_thumbnails/thumbnail_2.png" alt="img01"/>
<h3>Project 2</h3>
</a>
</li>
</ul>
</div>
</div>
Мой JQuery:
$("#port1_thumb, #port1_large").on("click", function() {
$("#port1_thumb, #port1_large").toggleClass("hiddenElement");
});
$('document').click(function() {
$('#port1_large').removeClass('hiddenElement');
});
$("#port2_thumb, #port2_large").on("click", function() {
$("#port2_thumb, #port2_large").toggleClass("hiddenElement");
});
$('document').click(function() {
$('#port2_large').removeClass('hiddenElement');
});
Примечания:
У меня есть CSS для .hiddenElement
набора на 'дисплей: нет' ,
Я заметил, что у меня много СУХОЙ, но в настоящее время это единственный способ, которым я знаю, как это сделать.
Что я могу сделать лучше в своем jQuery?
Если у вас есть сообщение, которое отвечает на мои извинения, пожалуйста, направьте меня на надлежащую должность, я не смог найти то, что искал. Спасибо за ваше время.
и использовать функцию щелчка, которая начинается с 'addClass' выше, что и палка с' toggleClass'? '$ (" # port1_thumb "). Click (function() { $ ('# port1_large'). AddClass ('hiddenElement'); }' – railsRabbit