2014-01-18 3 views
-1

Я ищу решение на основе jQuery для прокрутки div вверх/вниз в заданной сумме каждый раз, когда вы запускаете прокрутку с помощью мыши или клика/касания. Единственная проблема с событием прокрутки - это срабатывание более одного раза. Каков наилучший подход для этого, который также будет работать для устройств с сенсорным экраном?Прокрутить div до установленной суммы вверх

ответ

0

plugin перейти на этот плагин здесь, может помочь, но не уверен, что

0

Использование должно работать

var functionToCallAfterScrolling = function(){ 
    //Do stuff here 
} 

$(window).scroll(functionToCallAfterScrolling); 

Только вопрос, как вы сказали, что функция вызывается слишком много времени. Чтобы обойти это, я использую функцию debounce от underscorejs, подобную этой.

Вместо того чтобы создать функцию обратного вызова, как этот

var functionToCallAfterScrolling = function(){ 
    //Do stuff here 
} 

создать его, как это вместо

var functionToCallAfterScrolling = _.debounce(function(){ 
    //Do stuff here 
}, 300); 

Что это делает, например, если функция увольняют 400 раз в один свиток, это только вызывает функцию один раз, после 400-го раза игнорируя первый 399-й раз. И он ждет 300 миллисекунд, чтобы запустить функцию обратного вызова. Вы можете отрегулировать время ожидания, чтобы оно вам очень понравилось.

Просто помните, что вы должны включить библиотеку underscorejs.

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

Url для обеих ссылок являются http://underscorejs.org/#debounce

и http://underscorejs.org/docs/underscore.html.

Просто найдите дебют во второй ссылке, чтобы перейти к функции.

Сообщите мне, если вам нужно больше пояснений

Смежные вопросы