本文介绍了JS如何实现在页面上快速定位(锚点跳转问题),分享给大家,具体如下:
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。
锚点跳转有两种形式:
在html 4.0以前,只有使用 @L_403_0@
本文介绍了JS如何实现在页面上快速定位(锚点跳转问题),分享给大家,具体如下:
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。
锚点跳转有两种形式:
在html 4.0以前,只有使用 @L_403_0@
但是这种方法使用了一个空标签,而且有时候会出现锚点失效。所以建议采用id来绑定锚点,代码如下:
@H_502_3@window.location.hash
【1】关于#
在页面的制作中,“#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。同样的,在页面的URL中,#也可以理解为id选择符之意,也就是页面跳转到含URL指向的id标签处。 例如输入一个地址//www.jb51.cc/view/121414.htm?pf=1#3
这个地址中末尾有个'#',这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在//www.jb51.cc/view/121416.htm?pf=1的页面中寻找符合#3特点的标签并且执行跳转。
【2】关于空锚点指向
如果URL中的#后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其他的不会改变,页面不会有跳转;如果是从其他页面跳转过来,则页面会在顶部显示,'#'基本就是摆设。
【3】window.location.hash
如果让页面平滑滚动到一个id为Box的元素处,则JQuery代码只要一句话,关键位置如下:
JS原生实现。
@H_502_3@4. IE下锚点刷新失效及JQuery下的解决
【1】关于锚点刷新失效
锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。
【2】在Jquery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面
顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。