繁体   English   中英

动画div-height取决于滚动,没有滞后

[英]Animate div-height depending from scrolling, without lag

我有一些部分,想根据滚动(为视差效果)设置一个单独的div(固定)的高度。 每个滚动动作$(window).scroll(function() {...}); 以下代码被触发。 我认为这可以正常工作,但是由于CPU的使用,它非常缓慢。 您知道如何通过转换或其他方法将整个事情纳入GPU的使用。

        var windowHeight = $(window).height();
        var sectionNumber = 0;

        $("main section").each(function() {
            sectionNumber++;
            var secPosition = $(this).position();
            if( ( $(window).scrollTop() + windowHeight ) > secPosition.top ) {
                var secScrollValue = ($(window).scrollTop() + windowHeight) - secPosition.top;
                $(".parallaxBg" + sectionNumber).css("height", (windowHeight - secScrollValue) + "px");
            } else {
                $(".parallaxBg" + sectionNumber).css("height", "100%");
            }
        });

视差div(无节号):

.parallaxBg {
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0px;
  left: 0px;
  background-position: 0px 0px;
  background-size: 100%;
  background-repeat: repeat-x;
  background-attachment: fixed;
  background-image: ...;
}

这是一个示例: http : //jsfiddle.net/c5axqoo1/在视网膜上并且内容更多时,它的处理方式会更慢!

为什么我用height 因为我要固定background-position

谢谢:)

您可以设置translateY的动画,使其使用GPU

这是一个可以帮助您的插件: http : //ricostacruz.com/jquery.transit/

暂无
暂无

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

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