Избегайте переключения меню на закрытие при нажатии - PullRequest
0 голосов
/ 29 ноября 2018

Я использую меню .fadeToggle на моем сайте.

У меня есть несколько кнопок, которые показывают разные div при нажатии на них.

Все правильно, и вы можетеперемещаться по нему, но я хочу, чтобы пользователь не нажимал на ту же кнопку и не закрывал информацию (это делает экран полностью пустым).

Если я использую e.stopPropagation(), я невозможность навигации по нему.

Заранее спасибо.

HTML:

 </div><div id="toggleContainer2">
    <p><p>This is not an advertising platform, all selected agencies are more or less a subjective choice. The author reserves the right not to be responsible for the topicality, correctness, completeness or quality of the information provided. Liability claims regarding damage caused by the use of any information provided, including any kind of information which is incomplete or incorrect, will therefore be rejected. </p>
<p>All offers are not-binding and without obligation. Parts of the pages or the complete publication including all offers and information might be extended, changed or partly or completely deleted by the author without separate announcement.</p></p>
  </div>

...

 <a class="btn" id="trigger2">Disclaimer</a>

JS:

 <script>
$(document).ready(function() {
  // toggle advanced search
  $("#toggleContainer2").hide();
  $("#trigger2").click(function() {
    $("#toggleContainer2").fadeToggle(1500);
    $("#toggleContainer").hide();
  });
});

</script>

1 Ответ

0 голосов
/ 29 ноября 2018

Редактировать: я перечитал ваш пост, ваша проблема в том, что вы не поняли, как работает .fadeToggle, потому что вы описываете именно то, для чего он предназначен.

То, что вам нужно, эточтобы прочитать это: fadeIn , потому что это функция, которая вам нужна.

Старый ответ Вам нужно изменить способ отслеживания цели события.

Допустим, вы выпадаете в качестве класса .dd, а класс кнопок - .menu_b, вы получите что-то вроде этого

$('body').on('click','.menu_b',function(e){
  if($(e.target).hasClass('menu_b')) {
    $('.dd').fadeToggle();
  }
});
...