Javascript jQuery-通过鼠标滚轮将视差页面平滑滚动到特定定位点
我正在使用Stellar.js制作视差页面,我有一些视差窗格彼此堆叠,如下所示: 当用户向下滚动页面并到达该窗格时,我希望平滑地滚动到每个窗格的顶部。 我的意思是,我希望滚动条足够智能,可以将每个窗格与屏幕顶部对齐。 我试过了,但没有成功:Javascript jQuery-通过鼠标滚轮将视差页面平滑滚动到特定定位点,javascript,jquery,html,parallax,Javascript,Jquery,Html,Parallax,我正在使用Stellar.js制作视差页面,我有一些视差窗格彼此堆叠,如下所示: 当用户向下滚动页面并到达该窗格时,我希望平滑地滚动到每个窗格的顶部。 我的意思是,我希望滚动条足够智能,可以将每个窗格与屏幕顶部对齐。 我试过了,但没有成功: h = $(window).height(); t = $('#parallaxtop').offset().top + $('#parallaxtop').height(); if(t > h) { $(window).scrollTop(
h = $(window).height();
t = $('#parallaxtop').offset().top + $('#parallaxtop').height();
if(t > h) {
$(window).scrollTop(t - h);
}
下面是JSFIDLE:
我发现这是可行的:
var pageH = $(window).innerHeight(); //grab window height
$(window).scroll(function() {
clearTimeout($.data(this, 'scrollTimer'));
$.data(this, 'scrollTimer', setTimeout(function() {
var eTop = $('#parallaxtop').offset().top; //get the offset top of the element
var myOffset = eTop - $(window).scrollTop(); //determine the offset from window
if (myOffset > -100 && myOffset < pageH/2) { //if the offset is less than the half of page scroll to the panel
$('#parallaxtop').ScrollTo({ //ScrollTo JQuery plugin
});
}
}, 250)); //this will be calculated 250ms after finishing every scroll
});
var pageH=$(窗口).innerHeight()//抓窗高度
$(窗口)。滚动(函数(){
clearTimeout($.data(这是“滚动计时器”);
$.data(这是'scrollTimer',setTimeout(函数(){
var eTop=$('#parallaxtop').offset().top;//获取元素的偏移顶部
var myOffset=eTop-$(窗口).scrollTop();//确定与窗口的偏移量
如果(myOffset>-100&&myOffset
我已经使用了用于平滑滚动的。如果您可以提供一个工作的、说明性的JSFIDLE,那就太好了!我刚刚添加了JSFiddle页面链接,为什么不使用其他插件,比如?