Javascript.RU

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

Скролл страницы
Добрый вечер Великие форумчане , прошу вашей помощи т.к. весь день ищу информацию и не могу найти

Есть обработчик движения mouse wheel , вызываю через него функцию плавной прокрутки страницы до якоря когда надо вверх страницу когда не вверх то вниз.

Но страница прыгает (мерцает) , я так понимаю что нужно вызывать функцию с задержкой или ожиданием когда прокрутят столько сколько надо . Не пойму как реализовать этот момент задержки .
Ответить с цитированием
  #2 (permalink)  
Старый 18.07.2016, 23:03
Аватар для Botik21
Аспирант
Отправить личное сообщение для Botik21 Посмотреть профиль Найти все сообщения от Botik21
 
Регистрация: 01.06.2016
Сообщений: 87

Плохо ищите реализаций и примеров полно в тырнете.
Телепаты в отпуске.
Что за скрипт?
Как выглядит?
Где пример посмотреть?
Ответить с цитированием
  #3 (permalink)  
Старый 19.07.2016, 09:51
Новичок на форуме
Отправить личное сообщение для proliger Посмотреть профиль Найти все сообщения от proliger
 
Регистрация: 18.07.2016
Сообщений: 2

Да примеров масса но они на jquery , а мне бы не хотелось его использовать
function addEvent(elm, evType, fn, useCapture) {
        if (elm.addEventListener) {
                elm.addEventListener(evType, fn, useCapture);
        return true;
        }
        else if (elm.attachEvent) {
                var r = elm.attachEvent('on' + evType, fn);
                return r;
        }
        else {
                elm['on' + evType] = fn;
        }
}

function wheel(event){
    var delta = 0;
    
    if (!event) event = window.event; 
    if (event.wheelDelta) {
        
        delta = event.wheelDelta/120;
    } else if (event.detail) {
        
        delta = -event.detail/3;
    }
    if (delta) { 
        if (event.preventDefault) 
          {
            event.preventDefault();
          }
        event.returnValue = false;       
        var dir = delta > 0 ? 'Up' : 'Down';     
     
    }
    
}

addEvent(window, 'mousewheel', wheel);
addEvent(window, 'DOMMouseScroll', wheel);

Последний раз редактировалось proliger, 19.07.2016 в 09:57.
Ответить с цитированием
  #4 (permalink)  
Старый 19.07.2016, 15:46
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

задержки делаются так

var t;
function listenSomeEvent(e){
if(t)
    clearTimeout(t);
t= setTimeout(run,100);
}


Касательно скрипта. Не надо проверять на совместимость с ИЕ-6. Прошли те времена, уже давно никаких этих аттачевентов не надо чекать.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как опустить скролл вниз страницы FanAizu Общие вопросы Javascript 3 19.01.2017 11:21
Когда скролл страницы вверху tohenson Общие вопросы Javascript 1 09.09.2015 09:49
Плавный скролл к якорю после загрузки страницы pro100lexx87 jQuery 7 17.01.2014 12:13
Скролл страницы на jquery goooooch Библиотеки/Тулкиты/Фреймворки 0 18.12.2012 09:30
Отследить что скролл подходит к конкц страницы Gesandte Events/DOM/Window 1 17.01.2012 22:07