javascript - 如何做成支付宝首页往下拉,扫一扫的大图标变成小图标 一模一样的效果?
本文介绍了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屋!
查看全文