Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-通过鼠标滚轮将视差页面平滑滚动到特定定位点_Javascript_Jquery_Html_Parallax - Fatal编程技术网

Javascript jQuery-通过鼠标滚轮将视差页面平滑滚动到特定定位点

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(

我正在使用Stellar.js制作视差页面,我有一些视差窗格彼此堆叠,如下所示:

当用户向下滚动页面并到达该窗格时,我希望平滑地滚动到每个窗格的顶部。 我的意思是,我希望滚动条足够智能,可以将每个窗格与屏幕顶部对齐。 我试过了,但没有成功:

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页面链接,为什么不使用其他插件,比如?