时间:2021-05-26
本文介绍了JS如何实现在页面上快速定位(锚点跳转问题),分享给大家,具体如下:
1. 锚点跳转简介
锚点其实就是可以让页面定位到某个位置上的点。在高度较高的页面中经常见到。
锚点跳转有两种形式:
在html 4.0以前,只有使用 <a> 标签的 name 属性才能创建片段标识符。id 属性的出现,使所有 HTML 或 XHTML 元素都可以是片段标识符。这是因为 id 标识符几乎可以用在所有的标签中。<a> 标签为了能够和以前的版本相兼容而保留了 name 属性,同时也可以使用 id 属性。这些属性可以相互交换使用,可以把 id 属性看作是 name 属性的升级版本。name 和 id 属性都可以与 href 属性结合起来使用,这样一个 <a> 标签就可以同时作为超链接和片段标识符使用。
<a href="#he" rel="external nofollow" rel="external nofollow" >波轮洗衣机介绍</a><a href="#f" rel="external nofollow" ></a>但是这种方法使用了一个空标签,而且有时候会出现锚点失效。所以建议采用id来绑定锚点,代码如下:
<a href="#he" rel="external nofollow" rel="external nofollow" >波轮洗衣机介绍</a><h2 id="#de">波轮洗衣机介绍</h2>2. 含锚点跳转的URL地址
window.location.hash
【1】关于#
在页面的制作中,“#”的符号很常见,并且具有通用性。基本上,其表示的含义是id选择符。同样的,在页面的URL中,#也可以理解为id选择符之意,也就是页面跳转到含URL指向的id标签处。
例如输入一个地址https://www.jb51.net/view/121414.htm?pf=1#3
这个地址中末尾有个'#',这个就相当于告诉浏览器要跳转了,#后面跟着的3表示会在https://www.jb51.net/view/121416.htm?pf=1的页面中寻找符合#3特点的标签并且执行跳转。
【2】关于空锚点指向
如果URL中的#后面跟随的字符id在文中找不到,就会有两种情况:如果是在当前页面,除了URL地址变化了,其他的不会改变,页面不会有跳转;如果是从其他页面跳转过来,则页面会在顶部显示,'#'基本就是摆设。
【3】window.location.hash
用来获取或设置页面的标签值。https://www.jb51.net/article/22656.htm?dasdsa
3. Jquery下锚点的平滑跳转。
如果让页面平滑滚动到一个id为box的元素处,则JQuery代码只要一句话,关键位置如下:
$('html, body').animate({scrollTop: $('#box').offset().top}, 1000)JS原生实现。
scrollTo() 方法可把内容滚动到指定的坐标。
4. IE下锚点刷新失效及JQuery下的解决
【1】关于锚点刷新失效
锚点刷新失效就是指当按下刷新键F5时,即使此时URL的后面就随锚点,此锚点也是不起作用的。
【2】在Jquery中,不难实现。可以根据URL获取锚点,从而进一步获得对应锚点对象,然后再让页面的滚动高度为其距离页面
顶部的偏移值就可以了。使得页面无论是重新载入还是其刷新,其后面的锚点都起作用。
$(function() { var url = window.location.toString(); var id = url.split('#')[1]; if (id) { var t = $('#' + id).offset().top; $(window).scrollTop(t); }})以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
淘宝页面如何锚点?在进行店铺装修的时候设置锚点,可以快速实现页内跳转,增加用户的体验满意度,那么淘宝页面如何锚点?操作流程是什么呢?疯狂易购网小编今天带来了
现在总结一下控制锚点的几种情况:1.在同一页面中跳转到add2.在不同页面中,锚点定位在a.html中,从另外一个页面的链接跳转到这个锚点跳转到a.add3.点
最近遇到一个需求,进入页面,滚动到锚点位置。如何实现?在router文件下的index.js中配置:1.配置2.路由跳转3.设置锚点最后,我遇到了一个问题,你n
js仿锚点跳转到页面指定位置,用的是offset()方法$(document).ready(function(){vartarget_top=$("#qa5")
淘宝首页如何加锚点?通过使用代码制作网页锚点完成跳转定位可以增加深度浏览,卖家想要达到这样的效果,首先要知道淘宝首页如何加锚点?为了帮助卖家解决这个问题,疯