Jquery在侧滚动时发生事情(scrollto.js) - 只有在缓慢滚动时才有效

时间:2013-05-18 23:45:48

标签: jquery scrollto parallax

在使用jquery scrollTo的水平视差网站上(太棒了......)尝试使用windowsize值和scrollLeft值来决定知道当前页面宽度 - 即使调整大小。这一切都在发挥作用。

当从左向右滚动时,当某些窗口宽度被点击或移动时,我想最终在导航项目上设置一个值,以便为下一个标记提供路标。使用如下所示的警报/测试代码来验证我的点数是否正在击中。它们是 - 如果滚动真的很慢。

有关干净利落地抓住这些数字的想法吗?似乎它的射击速度太快,以至于jquery没有得到它。或者我没有正确地看到这个?

function parallaxScroll(){

    var scrolledX = $(window).scrollLeft();
    var windowsize = $(window).width();

    var win0 = 0;
    var win1 = windowsize;
    var win2 = windowsize * 2;
    var win3 = windowsize * 3;

    if (scrolledX == win1) {
        $("#test").text("mark1");
    }
    if (scrolledX == win2) {
        $("#test").text("mark2");
    }
    if (scrolledX == win3) {
        $("#test").text("mark3");
    }

}

1 个答案:

答案 0 :(得分:1)

抓住确切的尺寸真的很难。寻找大小,以及任何更大的东西 - 例如,如果win1为100,它将在100-199点火,然后在win2点亮,如果它在200-299,依此类推。

注意我还会检查从最小到最小的窗口大小(您可以将它们从最小到最大,然后务必将>更改为<,并为大于{{的大小添加额外检查1}}。

另外,进行检查win3状态,这样你就不会多次意外触发(win3大于win2,因此win2甚至会在win3时触发)。

if ... else if ... else