Не работают плагины. 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, время: 19:22. |