javascript - 如何实现元素随着滚动条向下滑动逐渐变小
PHP中文网
PHP中文网 2017-04-11 13:17:55
[JavaScript讨论组]

主要是从一个元素过渡到另一个元素,不想display:block/none这样太突兀,有个平滑地过渡

滑动条向下拉 一个元素慢慢变小,另一个渐渐出现

PHP中文网
PHP中文网

认证0级讲师

全部回复(4)
阿神

不用css3 js控制zoom也可以

PHP中文网

transform:scale(x,y)实现缩放 根据滚动条下拉的距离 来设置缩放的倍数

ringa_lee

你可以控制高度啊。动画效果改变p的高度:
@keyframes H_change
{

from {height: 100%;}
to {height: 0;}

}

迷茫

//向下滚动 背景图片变大 变模糊
//向上滚动 还原. 那些参数自己调试的

   
        $(document).bind("scroll",function(){

            clearTimeout(timeout);
            timeout = setTimeout(function() {

                p = $(this).scrollTop();
                if(p <= 500)
                {
                    if (t <= p) {
                        //下滚
                        scrollSpan = p-t;
                        blurValue = blurValue + (scrollSpan*0.03);

                        scaleValuex=scaleValuex+(scrollSpan * 0.0005);
                        scaleValuey= scaleValuey+(scrollSpan * 0.0005);
                        var scale = scaleValuex+ ','+scaleValuey+','+scaleValuez;
                        opacityValue = opacityValue - (scrollSpan * 0.005);

                        //视频变模糊
                        $('#vedioCover').css('-webkit-filter','blur('+blurValue +'px)');
                        //视屏放大效果
                        $('#vedioCover').css('transform','translate3d(0px, 0px, 0px) scale3d('+scale+')');

                        //视频变模糊
                        $('#mobileCover').css('-webkit-filter','blur('+blurValue +'px)');
                        //视屏放大效果
                        $('#mobileCover').css('transform','translate3d(0px, 0px, 0px) scale3d('+scale+')');

                        //$('#hotelSearchSection').css('opacity',opacityValue).css('-webkit-filter','blur('+blurValue +'px)');
                    }

                    else {//上滚
                        scrollSpan = t-p;
                        blurValue = blurValue - (scrollSpan*0.03);

                        scaleValuex=scaleValuex-(scrollSpan * 0.0005);
                        scaleValuey= scaleValuey-(scrollSpan * 0.0005);
                        var scale = scaleValuex+ ','+scaleValuey+','+scaleValuez;
                        opacityValue = opacityValue + (scrollSpan * 0.005);
                        $('#vedioCover').css('-webkit-filter','blur('+blurValue +'px)');
                        $('#vedioCover').css('transform','translate3d(0px, 0px, 0px) scale3d('+scale+')');

                        $('#mobileCover').css('-webkit-filter','blur('+blurValue +'px)');
                        $('#mobileCover').css('transform','translate3d(0px, 0px, 0px) scale3d('+scale+')');

                       // $('#hotelSearchSection').css('opacity',opacityValue).css('-webkit-filter','blur('+blurValue +'px)');
                    }

                    setTimeout(function () {
                        t = p;
                    }, 0);
                }

            }, 10);
        })
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号