Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 14.10.2018, 22:14
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от alexkirsanov850@gmail.com
очередь событий не быть просто не может и поскольку язык монопоточный она есть
в данном случае многопоточность никак не задействована. работать в один все будет.
Ответить с цитированием
  #22 (permalink)  
Старый 14.10.2018, 22:17
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от alexkirsanov850@gmail.com
При скроллинге страницы с целью акцентирования внимания на определенных блоках остановить прокрутку страницы.

Эта задача должна просто решаться у меня не хватает знаний и понимания именно языка.
отслеживать скролл, при прокрутке на нужное значение блокировать прокрутку на какое то время.
или сразу отменять родное действие и скроллить блоками.
Ответить с цитированием
  #23 (permalink)  
Старый 14.10.2018, 22:32
Интересующийся
Отправить личное сообщение для alexkirsanov850@gmail.com Посмотреть профиль Найти все сообщения от alexkirsanov850@gmail.com
 
Регистрация: 13.10.2018
Сообщений: 21

сейчас поясню
window.onwheel = function(e) {
    var delta = e.deltaY; //получили значение "смещения"

    var isScrollDown = true;
    if (delta<0) { isScrollDown = false; }//направление прокрутки
    
    var posScroll = window.scrollY + delta; //определили новое положение 
    

//далее пусть например якорный интервал 500-600
    if ((posScroll>500)&&(posScroll<600)) { 
        posScroll = 600;
    }
    window.scrollTo(0, posScroll);
}


А далее происходит следующее: все работает ОК, пока не дойдет до 500. Потом переносимся на 600 как и хотелось, а вот потом...
долетают новые значения deltaY и скроллинг продолжается))) все сползает

Не пойму как решить
Ответить с цитированием
  #24 (permalink)  
Старый 14.10.2018, 22:40
Интересующийся
Отправить личное сообщение для alexkirsanov850@gmail.com Посмотреть профиль Найти все сообщения от alexkirsanov850@gmail.com
 
Регистрация: 13.10.2018
Сообщений: 21

j0hnik,
пытался скроллить блоками

window.onwheel = function(e) {
    return false;
}

elems = document.getElementsByClassName('cnt');

elems[0].onwheel = function(e){
    var delta = e.deltaY;
    var posScroll = window.scrollY + delta;
    if ((posScroll>500)&&(posScroll<600)){
        elems[1].scrollIntoView();
    } else {window.scrollTo(0, posScroll);}
}

elems[1].onwheel = function(e){
    var delta = e.deltaY;
    var posScroll = window.scrollY + delta;
    if ((posScroll>500)&&(posScroll<600)){
        elems[2].scrollIntoView();
    } else {window.scrollTo(0, posScroll);}
}



Все тоже самое как и в первом случае
перешла на 2 блок и далее догоняет новое deltaY и блок смещается!
Ответить с цитированием
  #25 (permalink)  
Старый 14.10.2018, 23:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

alexkirsanov850@gmail.com,
https://javascript.ru/forum/dom-wind...tml#post312682
Ответить с цитированием
  #26 (permalink)  
Старый 15.10.2018, 00:03
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

Сообщение от alexkirsanov850@gmail.com Посмотреть сообщение
А далее происходит следующее: все работает ОК, пока не дойдет до 500. Потом переносимся на 600 как и хотелось, а вот потом...
долетают новые значения deltaY и скроллинг продолжается))) все сползает

Не пойму как решить
у меня этот код только скролл с рывками производит, что и не удивительно. Родной скролл имеет небольшой транзишин, метод scrollTo() по умолчанию без транзишина.
мб у вас еще где то в коде какие то фичи для скролла?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос текста из одной страницы сайта в форму другой страницы D-Nik Lubny Общие вопросы Javascript 0 18.03.2018 22:16
Запретить скроллинг страницы ivan2006bip Events/DOM/Window 21 13.07.2016 11:39
скроллинг внутри дива при скроллинге страницы shaltay jQuery 1 11.09.2012 20:30
Скроллинг страницы Semes Javascript под браузер 4 12.09.2011 19:29
Скроллинг элемента страницы Afonin jQuery 5 14.02.2011 13:08