[英]smooth scrolling div by div
我添加了此腳本,該腳本可立即用mouseweel向下滾動100%
$(document).ready(function () {
var divs = $('.mydiv');
var dir = 'up'; // wheel scroll direction
var div = 0; // current div
$(document.body).on('DOMMouseScroll mousewheel', function (e) {
if (e.originalEvent.detail > 0 || e.originalEvent.wheelDelta < 0) {
dir = 'down';
} else {
dir = 'up';
}
// find currently visible div :
div = -1;
divs.each(function(i){
if (div<0 && ($(this).offset().top >= $(window).scrollTop())) {
div = i;
}
});
if (dir == 'up' && div > 0) {
div--;
}
if (dir == 'down' && div < divs.length) {
div++;
}
//console.log(div, dir, divs.length);
$('html,body').stop().animate({
scrollTop: divs.eq(div).offset().top
}, 200);
return false;
});
$(window).resize(function () {
$('html,body').scrollTop(divs.eq(div).offset().top);
});
});
但是我需要在上面添加一些內容,以便滾動看起來很流暢,我該怎么做?
解:
@ user3127499已經為您提供了工作的FIDDLE 。
他把時間從100改為1000
$('html,body').stop().animate({
scrollTop: divs.eq(div).offset().top
}, 1000);
並在此處添加了1000個延遲:
$('html,body').scrollTop(divs.eq(div).offset().top.delay(1000));
有一個插件:
在重新創建滾輪時,您將應對許多其他挑戰,為什么不使用這個名為Scroll Section的插件呢?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.