html中ul跟随盒子移动,当用户滑动页面时将跟随页面移动的导航栏固定在页面上方...

场景:

导航栏才开始是固定在页面的某一个区域,当用户向下滑动页面到一定的程度时,可将导航栏固定在页面的某一个位置.

实例:

oschina博客编辑界面的工具栏,当向下滑动页面时,工具栏将会被固定在页面最上方.(不知道有一个算不算小BUG,如果浏览器足够短,向下滑动,拉出编辑区域,工具栏任然还在.)

效果PC端:

6a2e55dd708a3d43b3ca90daaef47f63.gif

效果移动端:

8e4600cd77318eb28d5bd8541f0c93db.gif

特点:

用jquery和普通的css代码控制衔接位置的属性,让过度看起来不是那么生硬

制作工艺:

1.首先是制作普通的导航栏,让导航栏镶嵌在页面的某一个位置:

这样↓,一个新鲜的导航栏就出炉了,这里使用的是bootstrap的导航栏.

这里是座右铭和个人圆图片等内容

这里是座右铭和个人圆图片等内容

emmmm

emmmm.

2.使用js代码控制'#mynavbar'区域的显示:

↓,这群代码要放在 jquery的scroll事件当中,$(window).scroll(function(){  xxx... }); 比较简短的代码,同时考虑的移动端和PC端情况.

//导航栏的固定

if($(document).scrollTop() < 90){

$('#mynavbar').css({

"position":'relative',

'margin-left':'0px',

'margin-top':'0px'

});

$('#mottopal').css({

'margin-top':'0'

});

}else{

$('#mynavbar').css({

'z-index':'2',

"position":'fixed',

'margin-left':'0px',

'margin-top':'-90px',

'width':'100%'

});

//移动端和PC端需要分开适配,不然会出现僵硬效果

if(navigator.userAgent.match(/mobile/i)){

$('#mottopal').css({

'margin-top':'144px'

});

}else{

$('#mottopal').css({

'margin-top':'45px'

});

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值