在使用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");
}
}
答案 0 :(得分:1)
抓住确切的尺寸真的很难。寻找大小,以及任何更大的东西 - 例如,如果win1
为100,它将在100-199点火,然后在win2
点亮,如果它在200-299,依此类推。
注意我还会检查从最小到最小的窗口大小(您可以将它们从最小到最大,然后务必将>
更改为<
,并为大于{{的大小添加额外检查1}}。
另外,进行检查win3
状态,这样你就不会多次意外触发(win3大于win2,因此win2甚至会在win3时触发)。
if ... else if ... else