jQuery 菜单随滚条改为以定位方式(固定要浏览器顶部)
更新时间:2012年05月24日 20:20:56 作者:
在淘宝购物的时候,发现里面有一个菜单,是查看“评论,物品信息”等的一个菜单。由于页面太长,所以它做了一个菜单定位
自己试着写了下:
$(function(){
//获取要定位元素距离浏览器顶部的距离
var navH = $(".nav").offset().top;
//滚动条事件
$(window).scroll(function(){
//获取滚动条的滑动距离
var scroH = $(this).scrollTop();
//滚动条的滑动距离大于等于定位元素距离浏览器顶部的距离,就固定,反之就不固定
if(scroH>=navH){
$(".nav").css({"position":"fixed","top":0,"left":"50%","margin-left":"-200px"});
}else if(scroH<navH){
$(".nav").css({"position":"static","margin":"0 auto"});
}
})
})
主要思路
1.当这个元素进入可视区域后,然后要离开可视区域的时候,就改变定位方式。
2.当元素回离浏览器顶部最初高度时,再还原其定位方式l
在线演示:http://demo.jb51.net/js/2012/myfix/
DEMO下载:https://www.jb51.net/jiaoben/45053.html
复制代码 代码如下:
$(function(){
//获取要定位元素距离浏览器顶部的距离
var navH = $(".nav").offset().top;
//滚动条事件
$(window).scroll(function(){
//获取滚动条的滑动距离
var scroH = $(this).scrollTop();
//滚动条的滑动距离大于等于定位元素距离浏览器顶部的距离,就固定,反之就不固定
if(scroH>=navH){
$(".nav").css({"position":"fixed","top":0,"left":"50%","margin-left":"-200px"});
}else if(scroH<navH){
$(".nav").css({"position":"static","margin":"0 auto"});
}
})
})
主要思路
1.当这个元素进入可视区域后,然后要离开可视区域的时候,就改变定位方式。
2.当元素回离浏览器顶部最初高度时,再还原其定位方式l
在线演示:http://demo.jb51.net/js/2012/myfix/
DEMO下载:https://www.jb51.net/jiaoben/45053.html
相关文章
jquery $(this).attr $(this).val方法使用介绍
$(this).attr(key); 获取节点属性名的值,相当于getAttribute(key)方法,本文整理了一些相关的示例,感兴趣的朋友可以参考下2013-10-10
jQuery探测位置的提示弹窗(toolTip box)详细解析
提示弹窗(toolTip box)经常会被用到,但是本文总要的不是弹,也不是窗,而是探测位置,在适当的地方弹窗。需要的朋友可以过来参考下,希望对大家有所帮助2013-11-11
jquery checkbox无法用attr()二次勾选问题的解决方法
下面小编就为大家带来一篇jquery checkbox无法用attr()二次勾选问题的解决方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-07-07


最新评论