繁体   English   中英

Scrollstopping视差效果在Safari中不起作用

[英]Scrollstopping parallax effect not working in Safari

我的网站有一个停止滚动的视差效果。 我用来停止滚动的代码是:

if ( parseInt($("div#bg").css("top"), 10) <= -0 ) {
    $('#content').css('top', (-0) + 'px');
    $('#logo').css('margin-top', (-142) + 'px');
}

这在Chrome,Firefox和Opera中运行良好,但在Safari中则不然。 在Safari中使用不同的代码吗? 我知道Safari在滚动时有一个bug,但我找不到答案。 是否有解决方法使其在Safari中也可以使用? 或者某种编辑器,我可以运行我的代码?

第一件事:你在布局上有一些问题,因为我甚至没有在Safari上看到你的作品库。 我确实看到,所有的gallery元素都是主div中的单独元素,没有容器,这可能导致非常难以控制的情况。

回到主题

parseInt($("div#bg").css("top"), 10) 

返回NaN,我想这可能是你的问题。 #bg的最高值设置为“auto”,因此parseInt()将返回NaN,因为第一个(以及所有其他字符:D)是CHAR而不是数字。

该代码正在使用Chrome,因为它的javascript引擎有点弹性,但它实际上不应该在那里工作,也不应该在其他浏览器中工作。

建议:你见过Skrollr吗? 它是一个用于视差效果的开源jquery库。 它的写得非常好,它看起来真的可以在这里度过一天。

http://prinzhorn.github.io/skrollr/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM