javascript - 如何做成支付宝首页往下拉,扫一扫的大图标变成小图标 一模一样的效果?

查看:144
本文介绍了javascript - 如何做成支付宝首页往下拉,扫一扫的大图标变成小图标 一模一样的效果?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

打开支付宝,首页,页面往上推的时候,他上面四按钮【扫一扫】【付钱】【收钱】【卡包】,这四个会慢慢变成4个小图标。
应该是先把小图标隐藏在html文件里,然后用js判断一下用户下拉滚动,这个时候大图标变透明,然后高度也在往上拉,,小图标慢慢出来,然后固定不动。如何做出跟支付宝一样的效果啊。

我自己做得真烂
求各位大牛优化一下,像支付宝那样的效果。

       var $window = $(window);
        $window.scroll(function() {
              var y = $window.scrollTop();
            //   var header=$(".header").
              if(100>y){
                    $(".top_page").fadeOut(); //代表四个小图标
                    $(".header").fadeIn();  //代表大四个图标
              }else{
                    $(".top_page").fadeIn(); 
                  //   $(".header").show();
              }
        })


这样最像。完结

解决方案

不知道你要的是不是这种效果?

附上代码:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <title></title>
        <link rel="stylesheet" type="text/css" href="//at.alicdn.com/t/font_tl75wwmaahj5g66r.css"/>
    </head>
    <style type="text/css">
        html,body{
            padding: 0;
            margin: 0;
            height: 100%;
        }
        header{
            height: 44px;
            background: #4CA1FF;
        }
        section{
            height:400px;
            overflow: auto;
        }
        .header-wrap{
            width: 100%;
            height: 100%;
            color: #fff;
            display: flex;
            justify-content: center;
            align-items:center;
        }
        .header-wrap i{
            flex: 1;
            text-align: center;
        }
        .scroll-box{
            height:1000px
        }
        .scroll-box .card1{
            height: 88px;
            background: #4CA1FF;
            color: #fff;
            display: flex;
            justify-content: center;
            align-items:center;
        }
        .scroll-box .card1 .icon{
            flex: 1;
            text-align: center;
        }
        .scroll-box .card1 p{
            font-size: 14px;
            margin: 5px 0;
        }
        .scroll-box .card1 i{
            font-size: 34px!important;
        }
    </style>
    <body>
        <div class="">
            <header>
                <div class="header-wrap" style="opacity: 0;">
                    <i class="iconfont icon-icon195"></i>
                    <i class="iconfont icon-jiaotong2"></i>
                    <i class="iconfont icon-xingcheng"></i>
                    <i class="iconfont icon-icon2"></i>
                </div>
            </header>
            <section id="scroll">
                <div class="scroll-box">
                    <div class="card1">
                        <div class="icon">
                            <i class="iconfont icon-icon195"></i>
                            <p>文字</p>
                        </div>
                        <div class="icon">
                            <i class="iconfont icon-jiaotong2"></i>
                            <p>文字</p>
                        </div>
                        <div class="icon">
                            <i class="iconfont icon-xingcheng"></i>
                            <p>文字</p>
                        </div>
                        <div class="icon">
                            <i class="iconfont icon-icon2"></i>
                            <p>文字</p>
                        </div>
                    </div>
                    <div class="card2">
                        <p>占位空间</p>
                        <p>占位空间</p>
                        <p>占位空间</p>
                        <p>占位空间</p>
                        <p>占位空间</p>
                        <p>占位空间</p>
                        <p>占位空间</p>
                    </div>
                </div>
            </section>
        </div>
    </body>
    <script src="https://cdn.bootcss.com/jquery/2.2.3/jquery.min.js" type="text/javascript" charset="utf-8"></script>
    <script type="text/javascript">
        var box = $('#scroll');
        var header=$('.header-wrap')
        var icons=$('.card1 .icon')
        box.scroll(function() {
            var y = box.scrollTop();
            var o=y/60;
            header.css('opacity',o)
            icons.css('opacity',1-o)
        })
    </script>
</html>


这样最像

这篇关于javascript - 如何做成支付宝首页往下拉,扫一扫的大图标变成小图标 一模一样的效果?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆