Не работают плагины. undefined is not a function
Добрый день. Имеется Joomla 3 с установленным T3 framework. jQuery v1.11.1.
Не работают 2 готовых плагина на jQuery: http://plugins.compzets.com/animatescroll/ и http://nicescroll.areaaperta.com/ Другие плагины не ставил, но думаю будет тоже самое. nicescroll починил заменой такого кода: <script type='text/javascript'> $(document).ready( function() { $("html").niceScroll({ cursorcolor: "#9DDAFF", cursorwidth: 5, cursorborder: "1px solid #000000", mousescrollstep: 50 }); }); </script> на такой: <script type='text/javascript'> (function($){ $(document).ready( function() { $("html").niceScroll({ cursorcolor: "#9DDAFF", cursorwidth: 5, cursorborder: "1px solid #000000", mousescrollstep: 50 }); }); })(jQuery); </script> Помогло, работает прекрасно. А вот что делать с animatescroll не знаю. Код вызова выглядит так: <button class="btn demo-btn" onclick="$('body').animatescroll();">Click for a Demo</button> В инспекторе следующая ошибка: Uncaught TypeError: undefined is not a function onclick Как быть? |
lieeer,
строка 3 -- добавить клик на нужную кнопку -- атрибут onclick из кнопки выкинуть |
не совсем понятно, что вы имели ввиду. Повторюсь, что не знаю JS вообще.
Вдруг я не ясно выразился. С nicescroll проблем нет вообще. Проблема исключительно с animatescroll. Не могли ли вы на пример показать, что нужно убрать и откуда именно? |
lieeer,
(function($){ $(document).ready( function() { $(".demo-btn").click(function() {$("body").animatescroll()}) $("html").niceScroll({ cursorcolor: "#9DDAFF", cursorwidth: 5, cursorborder: "1px solid #000000", mousescrollstep: 50 }); }); })(jQuery); Цитата:
|
Спасибо, так работает. Но почему не работает onclick? У меня на простом статичном сайте такой код работает, а на Joomla ошибка. Можно ли что-то сделать, чтобы onclick работал?
Такой код, к примеру, работает как надо: onclick="alert('Тест')" Заранее благодарю |
Joomla как заставить работать вместе jQuery и Mootools
lieeer,
потому что в Joomla есть Mootools который переключает $ на себя -- а для jQuery - если правильно подключено - jQuery.noConflict(); -- есть запасное имя - jQuery - можно поставить любое сделав так var abrakadabra = jQuery.noConflict(); тогда можно так onclick="abrakadabra('body').animatescroll();" естественно вы такой фигнёй ещё не страдаите тогда у вас будет onclick="jQuery('body').animatescroll();" ТС это не для вас, если создатель плагина забыл обернуть плагин в конструкцию (function($){ // тут код плагина })(jQuery); сделайте это самостоятельно. |
На сайте подключено
jquery.min.js jquery-noconflict.js jquery-migrate.min.js В J!3 нет поддержки mootools. ТС это не для вас, если создатель плагина забыл обернуть плагин в конструкцию (function($){ // тут код плагина })(jQuery); сделайте это самостоятельно. https://github.com/ramswaroop/animat...imatescroll.js Обернуто, однако... Все равно спасибо |
Цитата:
Цитата:
тогда уберите jquery-noconflict.js и все плагины заработают без всякой правки и оборачивания |
Часовой пояс GMT +3, время: 18:51. |