JQuery的右侧垂直锚点导航
2015-06-08 12:40
597 查看
1.想法
首先我看到了界面效果很好网站
http://58.49.52.122:88/wwysbi41/esmain/portal/loginportal.do?portalid=BI41
用演示帐号demo demo登录后
看到的导航是下图,效果不错。
2.理论
现在开始介绍下jquery锚点导航的理论
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。比如百度的百科页面,wiki中的page内容。
我知道实现锚点的跳转有两种形式,一种是a标签+name属性;还有一种就是使用标签的id属性。百度百科就是使用a标签的name属性来实现锚点跳转的。
比如:
但是上种方法使用了一个空标签,而且有时候会出现锚点失效。所以建议采用id来绑定锚点,代码如下:
【1】关于#
在页面的***中,”#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。例如:CSS中#header{}就表示id为header的标签的样式如何;在JQuery中,$(“#header”)表示选择id为header的标签为JQuery对象;同样的,在页面的URL中,”#”也可以理解为id选择符之意,也就是页面跳转到含URL指向的id的标签处。
例如输入一个地址 http://baike.baidu.com/view/121416.htm?pf=1#3
这个地址中末尾有个”#”,这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在http://baike.baidu.com/view/121416.htm?pf=1 的页面中寻找符合”#3”特点的标签,并且执行跳转。
【2】关于空锚点指向
如果URL中的”#”后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其它的不会改变,页面不会有跳转;如果是从其它页面跳转过来,则页面会在顶部显示,”#”基本就是聋子的耳朵——摆设。
对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用。
例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,如下:
其中animate为JQuery的自定义动画方法,$(“#box”).offset().top表示id为box的JQuery对象距离页面顶部的偏移值,1000表示平滑动画执行的时间为1000毫秒,也就是1秒。
【1】关于锚点刷新失效
锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。
【2】在JQuery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。
其js代码如下:
3.实例
下面的例子是垂直导航,右侧导航悬浮固定效果一样,但是是个demo,没美工和前端设计,丑。
来个关键JS代码片段
预览和下载地址
http://www.xwcms.net/webAnnexImages/fileAnnex/20140425/33125/index.html
首先我看到了界面效果很好网站
http://58.49.52.122:88/wwysbi41/esmain/portal/loginportal.do?portalid=BI41
用演示帐号demo demo登录后
看到的导航是下图,效果不错。
2.理论
现在开始介绍下jquery锚点导航的理论
1.锚点跳转简介
Edit
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。比如百度的百科页面,wiki中的page内容。我知道实现锚点的跳转有两种形式,一种是a标签+name属性;还有一种就是使用标签的id属性。百度百科就是使用a标签的name属性来实现锚点跳转的。
比如:
2.含锚点跳转的URL地址
Edit
【1】关于#在页面的***中,”#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。例如:CSS中#header{}就表示id为header的标签的样式如何;在JQuery中,$(“#header”)表示选择id为header的标签为JQuery对象;同样的,在页面的URL中,”#”也可以理解为id选择符之意,也就是页面跳转到含URL指向的id的标签处。
例如输入一个地址 http://baike.baidu.com/view/121416.htm?pf=1#3
这个地址中末尾有个”#”,这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在http://baike.baidu.com/view/121416.htm?pf=1 的页面中寻找符合”#3”特点的标签,并且执行跳转。
【2】关于空锚点指向
如果URL中的”#”后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其它的不会改变,页面不会有跳转;如果是从其它页面跳转过来,则页面会在顶部显示,”#”基本就是聋子的耳朵——摆设。
3.JQuery下锚点的平滑跳转
Edit
对于锚点的平滑跳转,在一般的商业性质的网站上,权衡来说,要谨慎使用。例如:让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,如下:
4.IE下锚点刷新失效及JQuery下的解决
Edit
【1】关于锚点刷新失效锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。
【2】在JQuery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。
其js代码如下:
下面的例子是垂直导航,右侧导航悬浮固定效果一样,但是是个demo,没美工和前端设计,丑。
来个关键JS代码片段
<script src="js/jquery.min.js" type="text/javascript"></script> <link href="css/christmas.css" rel="stylesheet" type="text/css" /> <script type="text/javascript"> jQuery(document).ready(function($) { $(".index_nav li a").click(function(event) { var index=this.title var id='#'+'index_'+index $("html,body").animate({scrollTop: $(id).offset().top}, 1000); }); $(".taoba").click(function(event) { var index=this.title var id='#'+'index_'+index $("html,body").animate({scrollTop: $(id).offset().top}, 1000); }); function a(x,y){ l = $('#main').offset().left; w = $('#main').width(); $('#tbox').css('left',(l + w + x) + 'px'); $('#tbox').css('bottom',y + 'px'); }//获取#tbox的div距浏览器底部和页面内容区域右侧的距离函数#main为页面的可视宽度 $(function() { $(window).scroll(function(){ t = $(document).scrollTop(); if(t>500){ $('#tbox').show(); }else{ $('#tbox').hide(); } if(t > 50){ $('#gotop').fadeIn('slow'); }else{ $('#gotop').fadeOut('slow'); } }) a(10,100);//#tbox的div距浏览器底部和页面内容区域右侧的距离 $('#gotop').click(function(){ $('body,html').animate({ scrollTop: 0 }, 800);//点击回到顶部按钮,缓懂回到顶部,数字越小越快 return false; }) }); }); </script>
预览和下载地址
http://www.xwcms.net/webAnnexImages/fileAnnex/20140425/33125/index.html
相关文章推荐
- struts2+jquery+ajax实现上传&&校验实例
- jquery插件——jquery.slides.min.js
- HTML5-jQueryMobile 按钮Icon组件
- zTree组织机构树(涉及技术包含:zTree参数配置,ajax框架,jquery惊细控制对象,用户自定义控件,webmethod)
- jquery所有版本下载外链地址
- jquery ligerUI中ligerComboBox 初始值问题
- [前端] js data-*与jquery data-*的写法
- jquery-ui-1.11.4 tabs 动态添加和关闭
- js,jquery的学习杂谈
- jQuery中event.preventDefault() 与 return false 的区别
- jQuery实现导航栏的隐藏与显示效果
- jQuery checkbox“checked”返回 undefined
- jQuery粘性跟随滚动条滚动的导航栏源代码下载
- jQuery背景跟随鼠标移动的网页导航
- jQuery ui背景色动态渐变导航菜单
- 基于jQuery全屏相册插件zoomVisualizer
- JS或jQuery获取ASP.NET服务器控件ID的方法
- 利用JQuery实现web页面中table导出excel的功能
- Yii2禁用默认引入的jquery
- JS或jQuery获取ASP.NET服务器控件ID的方法