jquery实现导航栏跟随窗口滚动

摘要:
最近用于创建模板的jquery插件固定在顶部,当网站导航滚动到当前可见页面的顶部时,它会随着窗口一起滚动。许多网站前台模板都有类似的效果。

最近在制作一个模版的时候用到的一个jquery插件,当网站导航滚动到当前可见页面顶部时,固定在顶部并随窗口滚动,有很多的网站前台模版有有类似的效果。

smohan.fixednav.js

/*
 * 随滚动条固定导航到顶部插件
 * autho:Smohan
 * http://www.smohan.net
 */
;
(function ($) {
	$.fn.smohanfixednav = function (mtop, zindex) {
		var nav = $(this),
		isIE6 = 'undefined' == typeof(document.body.style.maxHeight),
		mtop = mtop,
		zindex = zindex,
		dftop = nav.offset().top - $(window).scrollTop(),
		dfleft = nav.offset().left - $(window).scrollLeft(),
		dfcss = new Array;
		dfcss[0] = nav.css("position"),
		dfcss[1] = nav.css("top"),
		dfcss[2] = nav.css("left"),
		dfcss[3] = nav.css("zindex"),
		$(window).scroll(function (e) {
			$(this).scrollTop() > dftop ? isIE6 ? nav.css({
				position : "absolute",
				top : eval(document.documentElement.scrollTop),
				left : dfleft,
				"z-index" : zindex
			}) : nav.css({
				position : "fixed",
				top : mtop + "px",
				left : dfleft,
				"z-index" : zindex
			}) : nav.css({
				position : dfcss[0],
				top : dfcss[1],
				left : dfcss[2],
				"z-index" : dfcss[3]
			})
		})
	}
})(jQuery)

 注: 由于jquery的1.9 以上的版本,不再支持 $.browser 方法。所以将原有插件中判断是否是IE6 的语句 $.browser.msie&&$.browser.version=="6.0" 改为 'undefined' == typeof(document.body.style.maxHeight)

使用方法:

<script type="text/javascript" src="http://t.zoukankan.com/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="http://t.zoukankan.com/smohan.fixednav.js"></script>
<script type="text/javascript">
$(document).ready(function(e) {
$('.mainavi').smohanfixednav(0,999);
});
</script>

  

1、(0,999)两个数值,第一个一个是设置在滚动时导航栏与顶部的距离,第二个是导航栏的zindex

2、mainavi 为导航栏的class

免责声明:文章转载自《jquery实现导航栏跟随窗口滚动》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇docker搭建jiralinux--如何拷贝目录下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jQuery插件获取URL参数(jQuery.query)

代码 例如 当前你的URL是:http://www.cssrain.cn/index.php?test=1&kk=2如果想获取test,则可以引入插件后,用如下方法获取:var test = $.query.get('test');如果参数有多个相同的名称 ,则可以这样:var arr = $.query.get('testy');输出: [ 值...

jQuery基础入门+购物车案例详解

jQuery是一个快速、简洁的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。 一、jQuery对象 1....

jQuery----分页插件实现

1、效果 2、html代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>jquery 分页插件</title> <link rel="stylesheet" type="text...

jquery 修改 bootstrap模态框的宽度并且居中

1.定义模态框 <div tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div style="1400px;"> <div class="modal-...

jQuery缓存数据

很多同学在项目中都喜欢将数据存储在HTMLElement属性上,如 1 2 3 4 <div data="some data">Test</div> <script> div.getAttribute('data');// some data </script> 给页面中div添加了自定义...

【JavaWeb项目】一个众筹网站的开发(四)后台用户注册功能

重点: 密码加密存储 使用jQuery插件做校验和错误提示等 密码不能明文存储,在数据库中是加密存储的 可逆加密:通过密文使用解密算法得到明文 DES AES 不可逆加密:通过密文,得不到明文 MD5 SHA-1 SHA-2 MD5优点:压缩性,长度固定;容易计算;抗修改性;强抗碰撞;MD5加盐值加密码 一、公司的工具类中加入MD5 proje...