.scroll()函数在上次更新后在谷歌chrome中定位闪烁
.scroll() function positioning flickering in google chrome after its last update
说实话,我有点绝望。
在我的谷歌Chrome浏览器更新后——我认为版本从39到41——我的一个客户网站在Chrome中完全被破坏了。
你可以在这里看到:http://prinovis-media-day.com/
如果向下滚动,所有»视差«元素都会闪烁我已经在39版的macbook上检查过了——在39版中它绝对不错。
基本上,我所做的创造这种效果非常简单:
$("window").scroll(function(){
var move_value = Math.round(scroll_top * 0.3);
var opacity_value = *some other value*;
$(".parallax-container__content").css({
'opacity': opacity_value,
'padding-top': move_value +'px'
});
});
有人知道怎么回事吗?在这次更新之前,它就像一个魅力。。。
提前谢谢你,我真的很感激你的回答!
移动我的评论作为答案:
您可以始终缓存$(".aparalax-container__content")元素在变量中,这样它就不会在每次滚动时检索它事件被激发,这也适用于不透明度值(除非根据scroll_tp动态变化。这样做可能会导致加快并帮助正在发生的的jank的脚本
如果它仍然很明显,那么你可以使用特征检测检测浏览器和用户是否支持CSS转换"transform:translate",而不是更改"top"值。如果是不受支持,然后恢复为更改"top"。更改"top"导致在浏览器中重新绘制,而"translate"则不会。这种重新绘制对浏览器来说相当昂贵,并且可能导致jank某些机器。modernizr.com可以通过功能帮助您检测,但仅仅在这种情况。
看看这一点,以检测支持的十六烷类:http://lea.verou.me/2009/02/check-if-a-css-property-is-supported/
这是最简单的检查方法(记住要考虑供应商前缀)。
相关文章:
- .scroll()函数在上次更新后在谷歌chrome中定位闪烁
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- 如何知道你右键点击谷歌chrome扩展是什么
- 对齐底部的DIV-谷歌Chrome扩展
- 谷歌cookie是否存在于chrome,火狐,即在phantomjs中发出某些请求时发送的浏览器
- 当我用ctrl+p搜索时,为什么要在谷歌chrome上使用inspect来调试缺少显示文件js
- 从谷歌chrome中的任何网页获取所有tel标签
- 如何缩小我的谷歌chrome扩展's的javascript文件
- 当页面加载时,使谷歌chrome浏览器成为全屏浏览器
- 谷歌Chrome元素仍然存在:即使从光标移开,也要悬停
- 谷歌Chrome Chrome.usb/Chrome.hid锁定设备
- 我的jquery代码在谷歌chrome控制台中工作,而不是在保存它之后
- 谷歌Chrome扩展在用Javascript打开的弹出窗口中工作吗
- 基本的谷歌chrome扩展消息传递不起作用
- 如何操作谷歌chrome's PRINT选项
- 谷歌Chrome在范围滑块禁用时卡住了's的更改功能
- 谷歌Chrome日期选择器事件
- 如何允许在谷歌chrome中通过触摸屏放大和缩小iframe
- 谷歌chrome和FPS的奇怪行为
- pin不显示在Chrome谷歌地图Api V3