视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
HTML中锚点的使用_动力节点Java学院整理
2020-11-27 14:46:44 责编:小采
文档


现在总结一下控制锚点的几种情况:

1. 在同一页面中
 

<a name="add"></a><!-- 定义锚点 -->
<a href="#add">跳转到add</a>

2. 在不同页面中,锚点定位在a.html中,从另外一个页面的链接跳转到这个锚点 

<a href="a.html#add">跳转到a.add</a>

3. 点击链接触发js事件,同时跳转到锚点,有两种处理方式:

第一种:

<a href="#add" onclick="add()">触发add函数并跳转到add锚点</a>

第二种: 

<div id="divNode"><!-- contents --></div><!-- 假设一个需要跳转到的节点 -->
<a href="#" onclick="document.getElemetnById('divNode').scrollIntoView(true);return false;">通过scrollIntoView实现锚点效果</a> 

在html中设置锚点定位有几种方法,使用id定位、使用name定位、使用js定位,这些方法不一定是最全的,只可以参考下

1、使用id定位:

<a href="#1F" name="1F">锚点1</a> 
<div name="1F"> 
<p> 
11111111111 
</br> 
11111111111 
</br>11111111111 
</br>11111111111 
</br>11111111111 
</br> 
</p> 
</div> 

这样的定位可以针对任何标签来定位。

2、使用name定位:

<a href="#5F">锚点5</a> 
</br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br></br> 
<a name="5F">1111111</href> 

使用name属性只能针对a标签来定位,而对div等其他标签就不能起到定位作用。

3、使用js定位

<li class="" onclick="javascript:document.getElementById('here').scrollIntoView()"></li> 

实例:

js 锚点平滑定位  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <head>
 <style type="text/css" mce_bogus="1">
 div.test {
 width: 400px;
 margin: 5px auto;
 border: 1px solid #ccc;
 }
 
 div.test strong {
 font-size: 16px;
 background: #fff;
 border-bottom: 1px solid #aaa;
 margin: 0;
 display: block;
 padding: 5px 0;
 text-decoration: underline;
 color: #059B9A;
 cursor: pointer;
 }
 
 div.test p {
 height: 400px;
 background: #f1f1f1;
 margin: 0;
 }
 </style>
 <script type="text/javascript">
 
 function intval(v){
 v = parseInt(v);
 return isNaN(v) ? 0 : v;
 } // ?取元素信息 
 function getPos(e){
 var l = 0;
 var t = 0;
 var w = intval(e.style.width);
 var h = intval(e.style.height);
 var wb = e.offsetWidth;
 var hb = e.offsetHeight;
 while (e.offsetParent) {
 l += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
 t += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0);
 e = e.offsetParent;
 }
 l += e.offsetLeft + (e.currentStyle ? intval(e.currentStyle.borderLeftWidth) : 0);
 t += e.offsetTop + (e.currentStyle ? intval(e.currentStyle.borderTopWidth) : 0);
 return {
 x: l,
 y: t,
 w: w,
 h: h,
 wb: wb,
 hb: hb
 };
 } // ?取??条信息 
 function getScroll(){
 var t, l, w, h;
 if (document.documentElement && document.documentElement.scrollTop) {
 t = document.documentElement.scrollTop;
 l = document.documentElement.scrollLeft;
 w = document.documentElement.scrollWidth;
 h = document.documentElement.scrollHeight;
 }
 else
 if (document.body) {
 t = document.body.scrollTop;
 l = document.body.scrollLeft;
 w = document.body.scrollWidth;
 h = document.body.scrollHeight;
 }
 return {
 t: t,
 l: l,
 w: w,
 h: h
 };
 } // ?点(Anchor)?平滑跳? 
 function scroller(el, duration){
 if (typeof el != 'object') {
 el = document.getElementById(el);
 }
 if (!el)
 return;
 var z = this;
 z.el = el;
 z.p = getPos(el);
 z.s = getScroll();
 z.clear = function(){
 window.clearInterval(z.timer);
 z.timer = null
 };
 z.t = (new Date).getTime();
 z.step = function(){
 var t = (new Date).getTime();
 var p = (t - z.t) / duration;
 if (t >= duration + z.t) {
 z.clear();
 window.setTimeout(function(){
 z.scroll(z.p.y, z.p.x)
 }, 13);
 }
 else {
 st = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.y - z.s.t) + z.s.t;
 sl = ((-Math.cos(p * Math.PI) / 2) + 0.5) * (z.p.x - z.s.l) + z.s.l;
 z.scroll(st, sl);
 }
 };
 z.scroll = function(t, l){
 window.scrollTo(l, t)
 };
 z.timer = window.setInterval(function(){
 z.step();
 }, 13);
 }
 </script>
 </head>
 <body>
 <div class="test">
 <a name="header_1" id="header_1"></a>
 <strong onclick="javascript:scroller('header_4', 800);">header_1 --> header_4</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_2" id="header_2"></a>
 <strong onclick="javascript:scroller('header_5', 800);">header_2 --> header_5</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_3" id="header_3"></a>
 <strong onclick="javascript:scroller('header_6', 800);">header_3 --> header_6</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_4" id="header_4"></a>
 <strong onclick="javascript:scroller('header_7', 800);">header_4 --> header_7</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_5" id="header_5"></a>
 <strong onclick="javascript:scroller('header_3', 800);">header_5 --> header_3</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_6" id="header_6"></a>
 <strong onclick="javascript:scroller('header_2', 800);">header_6 --> header_2</strong>
 <p>
 </p>
 </div>
 <div class="test">
 <a name="header_7" id="header_7"></a>
 <strong onclick="javascript:scroller('header_1', 800);">header_7 --> header_1</strong>
 <p>
 </p>
 </div>
 </body>
</html>

下载本文
显示全文
专题