У меня есть элемент, который можно перетаскивать через jQueryUI. Я использую его, чтобы выполнить перетаскивание, чтобы обновить взаимодействие.Имитировать движение мыши по элементу на основе вертикальной прокрутки тела
То, что я пытаюсь выполнить, - это когда пользователь прокручивается в верхнюю часть окна/тела, но пытается прокручивать дальше, а затем на расстояние, которое прокручивает пользователь, этот элемент (#main
) перетаскивается вниз.
Как я планировал перетащить его, имитируя события .mousedown()
и .mousemove()
и `.mouseup(), которые, похоже, работают (что означает, что они запускают перетаскивание).
Вот что я думаю, что должно работать в каком-то-реальном/каком-псевдокоде:
$(window).on('scroll', function(){
if($(this).scrollTop() === 0){
if(extra movement beyond scrollTop 0){
$('#main').mousedown();
//move #main down number of pixels of extra movement/extra scroll up.
$('#main').mouseup();
}
}
});
Это ответ на вопрос? Если да, то пожалуйста, примите это :) – vlio20
нет, я знаю, как использовать scrollTop, я хочу узнать, как получить движение за пределы scrollTop === 0. Поэтому, когда scrollTop уже равен нулю, и пользователь пытается прокрутить больше, как Я узнаю, сколько они пытаются прокрутить больше? – gomangomango
Вы можете сделать это с небольшим взломом. Вы можете создать элемент (например) с высотой 100 пикселей, но использовать его только 90px (сначала устанавливая позицию по умолчанию 10px, а затем, когда пользователь попытается переместиться поверх этой 10px, вы получите эту позицию. If вы пытаетесь добиться эффекта увеличения, вот ссылка http://usehook.com/ – vlio20