javascript - 随滚动条的下拉和上拉元素实时变化,不知怎么实时改变scale
PHP中文网
PHP中文网 2017-04-10 15:38:09
[JavaScript讨论组]

圆形的元素随滚动条下拉实时渐变缩小,一直到导航条固定时停止缩小;当滚动条上拉到导航条没有固定时渐变放大到原来的大小

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <style type="text/css">
        .fixed{
            position: fixed;
            top: 0;
        }
    </style>
</head>
<body>


<p style="height:200px;background-color:#EFE4B0;"></p>




<p id="fixed" style="height:40px;width:100%;background-color:#7092BE;color:#fff;z-index:999;">这个p到达顶部时悬浮在顶部,不到顶部不悬浮</p>





<p style="height:2000px;background-color:#C3C3C3;">
    <p style="height:300px;background-color:#E6F8AE;">
        <p id="avatar" style="height:100px;width:100px;border-radius:50%;background-color:#99D9EA;-webkit-transform: scale(1);z-index:-1">

        </p>
    </p>
</p>





<script type="text/javascript">
    var fixedDom = document.getElementById('fixed');
    var fixedTop = fixedDom.offsetTop;
    var bodyDom = document.body;
    window.addEventListener('scroll',function(){
        fixedDom.classList[fixedTop - bodyDom.scrollTop < 1 ? 'add' : 'remove']('fixed');
    });
    </script>


</body>
</html>
PHP中文网
PHP中文网

认证0级讲师

全部回复(1)
怪我咯
<script type="text/javascript">
    var fixedDom = document.getElementById('fixed');
    var fixedTop = fixedDom.offsetTop;
    var bodyDom = document.body;
    var avatarDom = document.getElementById('avatar');
    avatarDom.style.transformOrigin = '50% 0';
    window.addEventListener('scroll',function(){
        var scale = bodyDom.scrollTop/fixedTop;
        if(scale < 1){
            scale = 1- scale*.5;
            avatarDom.style.transform = 'scale('+scale+','+scale+')';
            fixedDom.classList.remove('fixed');
        }else{
            fixedDom.classList.add('fixed');
        }
    });
</script>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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