Не работает атрибут Materialize CSS coverTrigger

#html #jquery #css #materialize

#HTML #jquery #css #материализовать

Вопрос:

Я хочу создать веб-страницу с materialize css. Поэтому у меня есть панель навигации в верхней части моей страницы. Я хочу включить выпадающее меню выбора языка. Код, который я использовал:

HTML:

 <!-- top navbar -->
<header>
  <nav>
    <div class="nav-wrapper blue darken-3">
      <a href="index.html"><img src="img/logo.png" id="appicon" style="vertical-align: middle; margin-bottom: 15px; margin-left: 10px;" width="50" alt="logo"></a>
      <span class="center-align hide-on-small-only" style="font-size: 25px; margin-left: 10px;">
        Title
      </span>
      <a href="index.html" data-target="sidebar" class="sidenav-trigger"><i class="material-icons">menu</i></a>
      <ul id="nav-mobile" class="right hide-on-med-and-down">
        <li><a href="index.html" style="font-size: 18px">Home</a></li>
        <li><a href="statistics.html" style="font-size: 18px">Stats</a></li>
        <li class="active"><a href="tutorials.html" style="font-size: 18px">Tutorials</a></li>
        <li><a href="contact.html" style="font-size: 18px">Contact</a></li>
        <li><a class="dropdown-trigger" href="#!" data-target="dropdownLanguage"><i class="material-icons right">translate</i></a></li>
      </ul>
    </div>
  </nav>
</header>

<!-- Dropdown Structure -->
<ul id="dropdownLanguage" class="dropdown-content">
  <li class="active"><a href="#!">Germanamp;emsp;<i class="material-icons right">check</i></a></li>
  <li><a href="tutorials_en.html">English</a></li>
</ul>
 

jQuery:

 (function($){
  $(function(){

    $('.sidenav').sidenav();

    $(document).ready(function(){

      /* Activate dropdown menu */
      $(".dropdown-trigger").dropdown({
        constrainWidth: false,
        // coverTrigger: false
        belowOrigin: true
      });

    });

  }); // end of document ready
})(jQuery);
 

css:

 body {
  display: flex;
  min-height: 100vh;
  flex-direction: column;
}

main {
  flex: 1 0 auto;
}
 

Проблема, с которой я сталкиваюсь, заключается в том, что выпадающее языковое меню не открывается под триггером. Я попробовал параметры jQuery ‘belowOrigin’, а также ‘coverTrigger’. Независимо от того, какой из двух я использовал, выпадающий список не откроется ниже источника триггера. (Проверено в Firefox и Chrome.)

Есть ли у кого-нибудь идея, что я могу попробовать или в чем проблема?

Ответ №1:

Теперь я понял это. Выпадающей структуре нужен символ, чтобы «найти» позицию триггера. Значка, который я использовал, было недостаточно. Вставка любого текста помогла. Поскольку я не хотел иметь никакого текста, я выбрал крошечный пробел ( amp;hairsp; ).

Строка, о которой идет речь, теперь выглядит так:

 <li><a class="dropdown-trigger" href="#!" data-target="dropdownLanguage1">amp;hairsp;<i class="material-icons right">translate</i></a></li>
 

Может быть, это кому-то поможет.

Лучшие