Форум русской поддержки Joomla!® CMS
03.12.2016, 17:45:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

JQuery, событие колеса мыши в FF

 (Прочитано 105 раз)
0 Пользователей и 1 Гость смотрят эту тему.
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« : 05.10.2016, 14:16:45 »

Ребята, подскажите плз.
Как заставить простой скрипт jquery работать в Мозилле

Код
$('body').bind('mousewheel', function(e) {
if(e.originalEvent.wheelDelta / 120 > 0) {
alert ('Scroll up');
} else {
alert ('Scroll down');
}
});

Работает во всех браузерах кроме Лисы
Если вместо mousewheel -> wheel, глючит, определяет все как прокрутку вниз.

Гуглил, пробовал разные решения (DOMMouseScroll, MozMousePixelScroll ...) - все глючные.

Может есть проверенное рабочее решение, как закрыть этот старый баг Мозилы ?
Спасибо)
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

Пол: Мужской
Сообщений: 4570


Skype: renor_


« Ответ #1 : 05.10.2016, 15:06:11 »

а они же через виндов делают вроде...window.scroll
к примеру:
https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollTo

Тогда чисто для мозилы колёсико можно: https://developer.mozilla.org/en-US/docs/Web/Events/MozMousePixelScroll

Вот ещё нашёл подключить скрипт: https://css-tricks.com/snippets/jquery/horz-scroll-with-mouse-wheel/

Просто в шапке я не понял, цель, что колёсико делает.там 120 пикселей и что потом? Поднимает вверх или иначе вниз?
« Последнее редактирование: 05.10.2016, 15:13:28 от vipiusss » Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #2 : 05.10.2016, 15:12:55 »

Я привел упрощенный код части скрипта, чисто для примера
В другом месте у меня задействовано событие scrollTop
Поэтому нужно обрабатывать именно колесо мыши ...
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

Пол: Мужской
Сообщений: 4570


Skype: renor_


« Ответ #3 : 05.10.2016, 15:15:10 »

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js?ver=1.3.2'></script>
<script type='text/javascript' src='/js/jquery.mousewheel.min.js'></script>

$(function() {

   $("body").mousewheel(function(event, delta) {

      this.scrollTop -= (delta * 120);
    
      event.preventDefault();

   });

});

Попробуйте.Работает?
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #4 : 05.10.2016, 15:18:30 »

там нужно подключать mousewheel.min.js
не хотелось бы ...
Но попробую. Спасибо)
Записан
fsv
Практически профи
*******

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2235


« Ответ #5 : 05.10.2016, 15:42:42 »

mousewheel не стандартное, не рекомендуется

Если вместо mousewheel -> wheel, глючит, определяет все как прокрутку вниз.
с выше приведенным кодом?
а если взять пример из доков? - Listening to this event across browser

Записан
zomby6888
Живу я здесь
******

Репутация: +168/-3
Offline Offline

Пол: Мужской
Сообщений: 1538


« Ответ #6 : 05.10.2016, 15:55:35 »

http://stackoverflow.com/a/5542105

Хотя вышеприведенное решение даже лучше наверное
Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #7 : 05.10.2016, 16:14:36 »

vipiusss, спасибо!
работает во всех браузерах)

Хотелось без доп.скриптов, но 3К как-нибудь переживем))


Ребята, всем спасибо. Ссылки обязательно посмотрю.
Записан
vipiusss
Профи
********

Репутация: +260/-8
Offline Offline

Пол: Мужской
Сообщений: 4570


Skype: renor_


« Ответ #8 : 05.10.2016, 16:46:30 »

Хотелось без доп.скриптов

А вы его добавьте в общий квери, и/или в HTML переведите.
Или вынесите нужную часть. Любой каприз )))

P.S. И вам спасибо.
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet