В общем, я проект собираю с помощью Gulp. И библиотеки были собраны в один файл и минифицированы. Видимо, так не стоит делать, потому что, если подключить отдельно jQuery и отдельно Slick Slider, то всё прекрасно работает без ошибок.
|
<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() выполнится без проблем. У вас же тут ошибка - проверьте, что у вас в консоли. |
В консоли массив из элементов spoiler__text за исключением соседнего с текущим spoiler__title
И ошибка Uncaught TypeError: r.not(...).siblings(...).slideUp is not a function |
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.. уже была бы ошибка. |
Цитата:
|
Значит ищите ошибку в своем коде, у вас, видимо, на странице уже сжатый код, ибо с чего вдруг появилась r.
А если в коде даже удалить все элементы spoiler__text, то ошибки не будет, просто не будет выполняться функция slideUp(), ибо коллекция будет пуста. А у вас получается что нет вообще объектов, тогда и в консоли вы их не должны видеть. Что-то с чем-то не стыкуется у вас или в ваших ответах. Может, если код сжимается, где-то в нем возникает ошибка. |
Цитата:
Еще раз спасибо. |
А самой библиотекой нет проблем? Другие функции то выполняются, судя по вашим словам.
|
Да. Всё выполняется.
И даже спойлер работает, если вместо slideUp() и slideToggle() show() и hide() написать. А вот fadeIn() / fadeOut(), кстати, выдаёт такую же ошибку. |
Тогда это не те ошибки, о которых предположение, то есть ссылки на нечто не потребное, к чему нельзя применить. Проверьте что еще подключается со слайдером. Подключите другую JQ и проверьте.
|
Часовой пояс GMT +3, время: 02:21. |