Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2016, 11:02
Интересующийся
Отправить личное сообщение для The_FactioN Посмотреть профиль Найти все сообщения от The_FactioN
 
Регистрация: 07.06.2011
Сообщений: 19

Изменение значения переменной в режиме реального времени
Добрый день. Работаю с jQ переменными. Столкнулся с такой проблемой.
Есть див блок с отступами css (top). Это свойство изменяется с прокруткой колесико мыши. Вешаю значение свойства в переменную, провожу if сравнение, вывожу то что надо. Примерный код выглядит примерно так

Код:
var str_d = - WindowsHeight
	var str_h = parseInt($('#mCSB_1_container').css('top')) -10
if(str_d > str_h){
$('#strelka').removeClass().addClass('blue')	
}else{
$('#strelka').removeClass().addClass('white')
}
}
WindowsHeight - переменная высоты окна браузера (проблема не в ней). Проблема в переменной str_h, мне нужно постоянно проверять наличие отступов у элемента #mCSB_1_container, если оно больше значения переменной str_h, то выводить то, что мне надо (это все как надо прописано в if)

Пытался повесить все это на setInterval, работает, но я боюсь ставить период setInterval в единицу (вдруг браузер взорвется). В связи с этим у меня два вопроса: не взорвется ли браузер, если я поставлю период интервала в одну миллисекунду?(т.е. не сожрутся ли ресурсы браузера) и есть ли альтернативное решение, дабы постоянно проверять отступы? Или перезаписывать значение переменной, если отступ изменился
Ответить с цитированием
  #2 (permalink)  
Старый 09.03.2016, 11:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 31,786

Сообщение от The_FactioN
В связи с этим у меня два вопроса: не взорвется ли браузер, если я поставлю период интервала в одну миллисекунду?
бесполезно, браузер так не умеет и ему будет тяжело.
зачем интервал ... на прокрутку и вешайте ваши замеры и изменения
Ответить с цитированием
  #3 (permalink)  
Старый 09.03.2016, 11:18
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Цитата:
Это свойство изменяется с прокруткой колесико мыши
а событие никак это не отследить? https://learn.javascript.ru/mousewheel
Цитата:
но я боюсь ставить период setInterval в единицу
даже если вы ставите 1ms, это не значит что именно 1 ms будет. Там вроде минимум 4ms или 10ms. Но можно и 0 ms иммитировать, через window.postMessage http://dbaron.org/log/20100309-faster-timeouts
Ответить с цитированием
  #4 (permalink)  
Старый 09.03.2016, 11:20
Интересующийся
Отправить личное сообщение для The_FactioN Посмотреть профиль Найти все сообщения от The_FactioN
 
Регистрация: 07.06.2011
Сообщений: 19

Сообщение от рони Посмотреть сообщение
бесполезно, браузер так не умеет и ему будет тяжело.
зачем интервал ... на прокрутку и вешайте ваши замеры и изменения
Нет, нельзя повешать на прокрутку колесико (я подключил сторонний плагин изменения дизайна скроллинга, который игнорирует функцию .scroll
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как узнать насколько проскроллена страница в режиме реального времени goooooch jQuery 3 24.11.2015 12:56
изменение значения input при смене значения select galart jQuery 4 30.01.2015 18:39
Преобразование значения переменной в строку leny Общие вопросы Javascript 3 01.10.2011 21:34
изменение значения глобальной переменной внутри функции mgmarket Серверные языки и технологии 14 12.09.2011 23:56
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 14:50