最近在研究手机模板,期间就需要做一个判断滑动变更class属性的。也就是常见的菜单跟随一个原理。
先说理论:判断窗口的位置,然后来更改class的值。那么我们先写好两个地方的class值。然后做个判断来变更他们。
- .topbar{
- display: block;
- overflow: hidden;
- padding: 10px;
- clear: both;
- background-color: #fff;
- }
- .topbarg {
- padding: 10px;
- background-color: rgba(255, 255, 255, 0.56);
- z-index: 100;
- position: fixed;
- top: 0;
- left: 0;
- width: 100%;
- }
而,要更改的这个代码,加入一个id,用于js判断是更改哪里的。
- <div class="topbar">
- <!-- 跟随变化的地方 -->
- </div>
- <!-- 上面代码改为如下 -->
- <div id="top" class="topbar"> </div>
上面的工资准备好,下面就来利用一段简单的JS来实现啦!
- <script type="text/javascript">
- window.onscroll = function(){
- var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
- if(scrollTop > 50){
- document.getElementById('top').className = 'topbarg';
- }else{
- document.getElementById('top').className = 'topbar';
- }
- }
- </script>
这段代码,判断了离开顶部50px的时候,找到id=top的地方,替换class参数,如果不是,则替换回来。这个50px是.topbar自身总体的高度,这个可以后查看。
以上为方法,实际应用到网站时自己变通下。
2016年12月07日 20:05 -9楼
进来看看
2017年01月06日 22:11 地下1层
@春熙路 THX