Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   синхронизировать событие мыши с выполнением функции (https://javascript.ru/forum/events/36896-sinkhronizirovat-sobytie-myshi-s-vypolneniem-funkcii.html)

simple 31.03.2013 02:24

синхронизировать событие мыши с выполнением функции
 
привет, наверное я не очень понятно написал заголовок, объясню подробней, ситуация в следующем. Вобщем сделал я свой скроллбар, события кнопок и колесико мыши работают хорошо, но вот беда с ползунком...вешаю я на mousemove хандлер где расчитывается лимиты движения ползунка и вызывается функция скролла контента...дело в том что когда я передвигаю ползунок относительно медленно все работает норм, скролл высчитывается правильно, но когда быстро передвигаешь ползунок к нижний границе скроллбара, то контент не успевает прокручиваться в след за ползунком и останавливается где то на половине...почему так происходит то? Ведь все должно выполнятся последовательно вроде? Подскажите в чем дело пожалуйста. Спасибо..

Пс. Да забыл сказать сам контент у меня разбит на страницы и подгружается и удаляется из дом по координатам скролла...этакий buffered-scroll

dmitriymar 31.03.2013 02:32

Цитата:

Сообщение от simple
но когда быстро передвигаешь ползунок к нижний границе скроллбара, то контент не успевает прокручиваться в след за ползунком и останавливается где то на половине...почему так происходит то?

1 е -события "движения" выпадают - ну не может обработать 1000 "движений" за 100 мс
2 е - алгоритм неправильный
Цитата:

Сообщение от simple
Пс. Да забыл сказать сам контент у меня разбит на страницы и подгружается и удаляется из дом по координатам скролла...этакий buffered-scroll

тем более алгоритм неправильный т.е асинхрон с синхроном ? получить сразу то, что произойдёт потом?

simple 31.03.2013 15:11

наверное стоит попробовать добавить какое то сопротивление бегунку (а то он как пустышка),при резком передвижении, только не осилю пока как делать это линейно...как считать скорость, время? Буду думать

simple 02.04.2013 03:01

Цитата:

Сообщение от dmitriymar (Сообщение 243523)
1 е -события "движения" выпадают - ну не может обработать 1000 "движений" за 100 мс
2 е - алгоритм неправильный

а почему собственно выпадают то? А как же очередь? Ведь все асинхронные ивенты ставятся в очередь и выполняются последовательно.

simple 04.04.2013 13:43

разобрался...действительно алгоритм был немножко не правильный..подправил формулу расчета сколла и все залетало

dmitriymar 04.04.2013 15:58

Цитата:

Сообщение от simple
а почему собственно выпадают то? А как же очередь? Ведь все асинхронные ивенты ставятся в очередь и выполняются последовательно.

потому что не только браузер на компьютере работает
а очередь не резиновая
тест на пару строк всё покажет -отслеживать координаты -будут просветы значительные и незначительные хаотичные


Часовой пояс GMT +3, время: 07:39.