【发布时间】:2014-05-08 17:27:41
【问题描述】:
我有一个正在循环播放 HTML5 视频的页面。当您向下滚动页面时,jQuery 会向 nav 元素添加一个类。然后 CSS 将过渡应用于 th 的 left 属性。在 Firefox 中它运行良好,但 Chrome 会卡住动画并且无法完成它,除非您继续滚动。
我知道 Chrome 和 HTML5 视频存在很多性能问题。 Like this 但是我还没有找到很好的解决方案。
删除背景视频会导致 Chrome 中的动画流畅。但是,这不是一个非常重的视频(360p,~1MB)我想知道是否有比我做的更好的方法来应用类或执行动画,这可能有助于 Chrome 的性能。
这是一个正在进行中的网站的链接(它大多没有样式,所以请不要讨厌:)
我的 HTML
<!-- Left Bar Menu -->
<div class="leftbar scrollHandle">
</div>
<!-- Contains Header Video on Loop -->
<div class="videocontainer">
<video class="videobackground" poster="{{ "assets/video/poster.jpg" | asset_url }}" autoplay="true" loop="true">
<source type="video/mp4" src="{{ "assets/video/360.mp4" }}" />
<source type="video/webm" src="{{ "assets/video/360.webm" }}" />
</video>
</div>
我的 Javascript:
var containerPosition = $( ".container" ).offset();
$( window ).scroll(function() {
if ( $( window ).scrollTop() > containerPosition.top ) {
$( ".scrollHandle" ).addClass( "show" );
} else {
$( ".scrollHandle" ).removeClass( "show" )
};
});
我的 CSS:
.leftbar {
position: fixed;
top: 0;
left: -$leftbarwidth;
transition: left 500ms;
z-index: 2;
width: $leftbarwidth;
height: 100%;
background-color: $grey;
&.show {
left: 0;
transition: left 500ms;
}
}
【问题讨论】:
标签: jquery html google-chrome video