15.06.2020, 19:36
|
Интересующийся
|
|
Регистрация: 15.06.2020
Сообщений: 11
|
|
В общем, я проект собираю с помощью Gulp. И библиотеки были собраны в один файл и минифицированы. Видимо, так не стоит делать, потому что, если подключить отдельно jQuery и отдельно Slick Slider, то всё прекрасно работает без ошибок.
|
|
15.06.2020, 19:42
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
<div class="spoiler one">
<div class="spoiler__item">
<div class="spoiler__title">Head 1</div>
<div class="spoiler__text">Text 1</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 2</div>
<div class="spoiler__text">Text 2</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 3</div>
<div class="spoiler__text">Text 3</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 4</div>
<div class="spoiler__text">Text 4</div>
</div>
</div>
и код:
var spl = $('.spoiler__title').click(function() {
console.log(spl.not(this).siblings())
spl.not(this).siblings().slideUp();
})
В консоли всегда будет массив из элементов spoiler__text за исключением соседнего с текущим spoiler__title, и код spl.not(this).siblings().slideUp() выполнится без проблем. У вас же тут ошибка - проверьте, что у вас в консоли.
|
|
15.06.2020, 20:03
|
Интересующийся
|
|
Регистрация: 15.06.2020
Сообщений: 11
|
|
В консоли массив из элементов spoiler__text за исключением соседнего с текущим spoiler__title
И ошибка Uncaught TypeError: r.not(...).siblings(...).slideUp is not a function
|
|
15.06.2020, 20:11
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
r.not(...).siblings(...) именно так?
<html>
<head>
</head>
<body>
<div class="spoiler one">
<div class="spoiler__item">
<div class="spoiler__title">Head 1</div>
<div class="spoiler__text">Text 1</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 2</div>
<div class="spoiler__text">Text 2</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 3</div>
<div class="spoiler__text">Text 3</div>
</div>
<div class="spoiler__item">
<div class="spoiler__title">Head 4</div>
<div class="spoiler__text">Text 4</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script>
var spl = $('.spoiler__title').click(function() {
spl.not(this).siblings().slideUp();
})
</script>
</body>
</html>
То есть нет ошибок, ошибка может возникать если spl.not(this).siblin() возвращает null или не jq-объект. Второе исключено, ибо spl. и далее по цепочке возвращает jq-объект. Конфликт с библиотекой... тогда у вас $('.spoiler__title').click.. уже была бы ошибка.
Последний раз редактировалось laimas, 15.06.2020 в 20:24.
|
|
15.06.2020, 20:37
|
Интересующийся
|
|
Регистрация: 15.06.2020
Сообщений: 11
|
|
Сообщение от laimas
|
r.not(...).siblings(...) именно так?
|
Да
|
|
15.06.2020, 20:51
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Значит ищите ошибку в своем коде, у вас, видимо, на странице уже сжатый код, ибо с чего вдруг появилась r.
А если в коде даже удалить все элементы spoiler__text, то ошибки не будет, просто не будет выполняться функция slideUp(), ибо коллекция будет пуста. А у вас получается что нет вообще объектов, тогда и в консоли вы их не должны видеть. Что-то с чем-то не стыкуется у вас или в ваших ответах.
Может, если код сжимается, где-то в нем возникает ошибка.
|
|
15.06.2020, 21:04
|
Интересующийся
|
|
Регистрация: 15.06.2020
Сообщений: 11
|
|
Сообщение от laimas
|
Может, если код сжимается, где-то в нем возникает ошибка.
|
Да. Мне тоже так кажется.
Еще раз спасибо.
|
|
15.06.2020, 21:17
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
А самой библиотекой нет проблем? Другие функции то выполняются, судя по вашим словам.
|
|
15.06.2020, 21:32
|
Интересующийся
|
|
Регистрация: 15.06.2020
Сообщений: 11
|
|
Да. Всё выполняется.
И даже спойлер работает, если вместо slideUp() и slideToggle() show() и hide() написать.
А вот fadeIn() / fadeOut(), кстати, выдаёт такую же ошибку.
|
|
16.06.2020, 04:58
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Тогда это не те ошибки, о которых предположение, то есть ссылки на нечто не потребное, к чему нельзя применить. Проверьте что еще подключается со слайдером. Подключите другую JQ и проверьте.
Последний раз редактировалось laimas, 16.06.2020 в 05:03.
|
|
|
|