滚动停止视差效果在 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 在滚动方面有一个错误,但我找不到答案。有没有解决方法可以使它也可以在 Safari 中工作?或者某种编辑器,我可以通过它运行我的代码?
第一件事:你的布局有一些问题,因为我什至没有在Safari上看到你的作品库。我确实看到,您的所有图库元素都是主div中的单个元素,没有容器,这可能会导致非常难以控制的情况。
回到正题
parseInt($("div#bg").css("top"), 10)
返回 NaN,我想这可能是您的问题。#bg 的顶部值设置为"auto",因此 parseInt() 将返回 NaN,因为第一个(以及所有其他字符:D)是 CHAR 而不是数字。
该代码在Chrome上运行,因为它的javascript引擎更具弹性,但它实际上不应该在那里工作,也不应该在其他浏览器中工作。
建议:你见过斯克罗尔吗?这是一个用于视差效果的开源jquery库。它写得很好,看起来它真的可以在这里度过你的一天。
http://prinzhorn.github.io/skrollr/
相关文章:
- window.open(url).print()在Safari中不起作用
- 复制到剪贴板在safari-angularjs中不起作用
- Javascript Cookies在Safari中不起作用
- 带有Safari的Javascript;不起作用——所有其他浏览器都起作用
- 导航到新url时,Javascript在Safari中不起作用
- JS代码使IE9和Safari冻结,在Opera中不起作用
- html视频javascript播放方法在移动Safari中不起作用
- 为什么这个排序功能在 Safari 中不起作用
- $.getJSON 在 Chrome 和 Safari 中不起作用
- window.dispatchEvent 在 Firefox、Safari 或 IE 中不起作用
- 滚动到顶部按钮在 chrome 或 safari 中不起作用
- jQuery .play() 在移动 Safari 上不起作用
- jQuery .focus() 在 Safari(桌面)的搜索字段中不起作用
- HTML5<视频>元素在Firefox、Opera和Safari中不起作用
- 为什么find('input:focus')在safari中不起作用
- OfflineAudioContext.startRendering()基于承诺的函数在safari中不起作用
- ng模式验证在safari中不起作用
- 图像预览在Safari中不起作用
- 脚本在safari中不起作用
- CreateContextualFragment在safari中不起作用