Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2014, 20:04
Новичок на форуме
Отправить личное сообщение для lieeer Посмотреть профиль Найти все сообщения от lieeer
 
Регистрация: 02.11.2014
Сообщений: 4

Не работают плагины. 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


Как быть?
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2014, 20:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lieeer,
строка 3 -- добавить клик на нужную кнопку -- атрибут onclick из кнопки выкинуть
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2014, 21:00
Новичок на форуме
Отправить личное сообщение для lieeer Посмотреть профиль Найти все сообщения от lieeer
 
Регистрация: 02.11.2014
Сообщений: 4

не совсем понятно, что вы имели ввиду. Повторюсь, что не знаю JS вообще.

Вдруг я не ясно выразился. С nicescroll проблем нет вообще. Проблема исключительно с animatescroll.

Не могли ли вы на пример показать, что нужно убрать и откуда именно?
Ответить с цитированием
  #4 (permalink)  
Старый 02.11.2014, 21:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

lieeer,
(function($){
  $(document).ready(
      function() {
      $(".demo-btn").click(function() {$("body").animatescroll()})
      $("html").niceScroll({
        cursorcolor: "#9DDAFF",
        cursorwidth: 5,
        cursorborder: "1px solid #000000",
        mousescrollstep: 50
      });
  });
})(jQuery);

Сообщение от lieeer
<button class="btn demo-btn" onclick="$('body').animatescroll();">Click for a Demo</button>
Ответить с цитированием
  #5 (permalink)  
Старый 02.11.2014, 21:30
Новичок на форуме
Отправить личное сообщение для lieeer Посмотреть профиль Найти все сообщения от lieeer
 
Регистрация: 02.11.2014
Сообщений: 4

Спасибо, так работает. Но почему не работает onclick? У меня на простом статичном сайте такой код работает, а на Joomla ошибка. Можно ли что-то сделать, чтобы onclick работал?

Такой код, к примеру, работает как надо:

onclick="alert('Тест')"


Заранее благодарю
Ответить с цитированием
  #6 (permalink)  
Старый 02.11.2014, 21:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Joomla как заставить работать вместе jQuery и Mootools
lieeer,
потому что в Joomla есть Mootools который переключает $ на себя -- а для jQuery - если правильно подключено - jQuery.noConflict(); -- есть запасное имя - jQuery - можно поставить любое
сделав так
var abrakadabra = jQuery.noConflict();

тогда можно так
onclick="abrakadabra('body').animatescroll();"

естественно вы такой фигнёй ещё не страдаите тогда у вас будет
onclick="jQuery('body').animatescroll();"


ТС это не для вас, если создатель плагина забыл обернуть плагин в конструкцию
(function($){
// тут код плагина 
})(jQuery);

сделайте это самостоятельно.
Ответить с цитированием
  #7 (permalink)  
Старый 02.11.2014, 22:01
Новичок на форуме
Отправить личное сообщение для lieeer Посмотреть профиль Найти все сообщения от lieeer
 
Регистрация: 02.11.2014
Сообщений: 4

На сайте подключено

jquery.min.js
jquery-noconflict.js
jquery-migrate.min.js

В J!3 нет поддержки mootools.

ТС это не для вас, если создатель плагина забыл обернуть плагин в конструкцию
(function($){
// тут код плагина
})(jQuery);

сделайте это самостоятельно.


https://github.com/ramswaroop/animat...imatescroll.js

Обернуто, однако... Все равно спасибо
Ответить с цитированием
  #8 (permalink)  
Старый 02.11.2014, 22:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от lieeer
В J!3 нет поддержки mootools.
ой
Цитата:
Joomla 3 ... •JQuery и Mootools Ready
ну если у вас точно нет mootools
тогда уберите jquery-noconflict.js и все плагины заработают без всякой правки и оборачивания
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как доступится к свойствам созданной коллекции? assd18 Backbone.js 8 01.12.2013 20:37
InputTextMask - undefined is not a function demi ExtJS 1 20.11.2013 07:48
Помогите разобраться ŞΘLƉiΞR Общие вопросы Javascript 2 28.08.2012 11:57
2 function в 1 LAV45 AJAX и COMET 5 27.07.2011 14:49
хитросплетения Global,контекст,this,Reference kefi Общие вопросы Javascript 109 20.11.2009 23:34