Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.03.2013, 23:34
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

свой scrollbar на js
Вобщем делаю свой скролл на js, со стрелками и ползунком, есть функция назовем ее scrollPage которая запускается по нажатию одной из стрелок, вверх или вниз, и если стрелка нажата и не отпускается 500 ms то запускается таймер который выполняет данную функцию покуда юзер не отпустит клавишу мыши или не отведет курсор от кнопки, вобщем аля виндоус. Набросал на скорую руку вот такой код.

var timeoutID, intervalID;
 arrowBottom.onmousedown = function () {
  scrollPage();
  timeoutID = setTimeout(function () {
     intervalID = setInterval(function () {
       scrollPage();}, 50);
  }, 500);
};
arrowBottom.onmouseup = function () {
   clearTimeout(timeoutID);
   clearInterval(intervalID);
};

Собственно все работает как и хотелось, вопрос только по данной реализации есть, слышал что кол-во вызовов функции ограничено, значит и скролл мой будет ограничен? Ну и еще по опримизации советы если можно хотелось бы услышать, может есть лучше вариант реализации данного функционала? Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 24.03.2013, 00:34
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

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

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

А два -подобные вещи в шаблон модуль вкладываются . И подобный функционал пишется с учётом того , что он вью будет изменять при подключении

Сообщение от simple
и если стрелка нажата и не отпускается 500 ms
Злостно. Ничего что по феншуй, человек должен увидеть реакцию на своё действие в течении 100 мс? Итого реакция -одиночная подвижка первая . След подвижка не через 500 а макс через 100 мс

Последний раз редактировалось dmitriymar, 24.03.2013 в 00:48.
Ответить с цитированием
  #3 (permalink)  
Старый 24.03.2013, 08:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

К слову на харбе (относительно) недавно выкладывали реализацию скроллбара, самую православную и нативную (сам я не тестил пока). Правда без стрелочек.
Ответить с цитированием
  #4 (permalink)  
Старый 24.03.2013, 19:28
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

Сообщение от dmitriymar Посмотреть сообщение
Злостно. Ничего что по феншуй, человек должен увидеть реакцию на своё действие в течении 100 мс? Итого реакция -одиночная подвижка первая . След подвижка не через 500 а макс через 100 мс
все нет так, если нажимать на стрелку n кол-во раз то будут подвижки..а если зажать кнопку и не отпускать...(задержка в 500ms нужна что бы отловить это событие а не запускать ее при каждом клики)... то включается setInterval который выполняет прокрутку автоматом уже...неужели вы не видели как работает прокрутка в window? Мой код делает тоже самое
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вставить код js в HTML garmoni Элементы интерфейса 3 05.09.2013 05:56
свой JS фреймворк с блэкджеком. заминочка. assert Общие вопросы Javascript 10 16.09.2012 19:19
Картинка обрабатывается js 4yBaK Общие вопросы Javascript 10 11.09.2011 09:28
Не получается передать переменную из JS в PHP Lion_astana AJAX и COMET 2 23.11.2010 17:23
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28