Разборные элементы Materializecss не работают должным образом

Недавно я начал создавать веб-сайты с использованием materializecss. Все прошло хорошо, за исключением того, что я не мог заставить складные элементы работать правильно. Они появляются на моем веб-сайте, но на них вообще нельзя нажимать. Я импортировал все файлы css и js, но это не помогло.

<html>
    <head>
    <link href = "https://fonts.googleapis.com/icon?family=Material+Icons" rel = "stylesheet">
    <link type = "text/css" rel = "stylesheet" href = "css/materialize.min.css"  media = "screen,projection"/>
    <meta name = "viewport" content = "width=device-width, initial-scale=1.0"/>
    </head>

    <body>
        <ul class = "collapsible">
            <li>
            <div class = "collapsible-header"><i class = "material-icons">filter_drama</i>First</div>
            <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
            </li>
            <li>
            <div class = "collapsible-header"><i class = "material-icons">place</i>Second</div>
            <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
            </li>
            <li>
            <div class = "collapsible-header"><i class = "material-icons">whatshot</i>Third</div>
            <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
            </li>
        </ul>


    <script type = "text/javascript" src = "js/materialize.min.js"></script>
    </body>
</html>

<script src = "https://code.jquery.com/jquery-2.1.1.min.js"></script>

У меня есть все таблицы стилей и скрипты, что мне делать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
6
0
3 728
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вам нужно добавить Шаг инициализации:

document.addEventListener('DOMContentLoaded', function() {
   var elems = document.querySelectorAll('.collapsible');
   var instances = M.Collapsible.init(elems, {accordion: false});
});

Используя jQuery:

$('.collapsible').collapsible();

document.addEventListener('DOMContentLoaded', function() {
    var elems = document.querySelectorAll('.collapsible');
    var instances = M.Collapsible.init(elems, {accordion: false});
});
<link href = "https://fonts.googleapis.com/icon?family=Material+Icons" rel = "stylesheet">
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css">
<script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>


<ul class = "collapsible">
    <li>
        <div class = "collapsible-header"><i class = "material-icons">filter_drama</i>First</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
        <div class = "collapsible-header"><i class = "material-icons">place</i>Second</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
        <div class = "collapsible-header"><i class = "material-icons">whatshot</i>Third</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
</ul>
Ответ принят как подходящий

Проблема заключалась в том, что вы не инициализировали collapsible, поэтому он не работал.

$(document).ready(function() {
  $('.collapsible').collapsible();
})
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link href = "https://fonts.googleapis.com/icon?family=Material+Icons" rel = "stylesheet">
<link rel = "stylesheet" href = "https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/css/materialize.min.css" />

<script src = "https://cdnjs.cloudflare.com/ajax/libs/materialize/1.0.0/js/materialize.min.js"></script>

<ul class = "collapsible">
    <li>
        <div class = "collapsible-header"><i class = "material-icons">filter_drama</i>First</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
        <div class = "collapsible-header"><i class = "material-icons">place</i>Second</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
    <li>
        <div class = "collapsible-header"><i class = "material-icons">whatshot</i>Third</div>
        <div class = "collapsible-body"><span>Lorem ipsum dolor sit amet.</span></div>
    </li>
</ul>

Большое спасибо! Это сработало <3 К сожалению, я не мог дать вам положительный голос, но примите это как единое целое.

Vaporwave30 29.12.2018 22:12

Я считаю, что настоящая проблема заключалась в том, что вам нужно загрузить jquery.js до materialize.js

RealHowTo 29.12.2018 22:20

Другие вопросы по теме