国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

html 錨點三種實現方法

2020-03-24 18:13:21
字體:
來源:轉載
供稿:網友
在網頁中經常用到錨點,特別是在比較長的頁面中錨點的使用會增加用戶體驗,現在 介紹html 錨點三種實現方法

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>
第二種:
<p id="pNode"><!-- contents --></p><!-- 假設一個需要跳轉到的節點 -->
<a href="#" onclick="document.getElemetnById('pNode').scrollIntoView(true);return false;">通過scrollIntoView實現錨點效果</a>

在html中設置錨點定位有幾種方法,使用id定位、使用name定位、使用js定位,這些方法不一定是最全的,只可以參考下

1、使用id定位:

<a href="#1F" name="1F">錨點1</a> <p name="1F"> <p> 11111111111 </br> 11111111111 </br>11111111111 </br>11111111111 </br>11111111111 </br> </p> </p>

這樣的定位可以針對任何標簽來定位。

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標簽來定位,而對p等其他標簽就不能起到定位作用。

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">            p.test {                width: 400px;                margin: 5px auto;                border: 1px solid #ccc;            }                         p.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;            }                         p.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>        <p class="test">            <a name="header_1" id="header_1"></a>            <strong onclick="javascript:scroller('header_4', 800);">header_1 --> header_4</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_2" id="header_2"></a>            <strong onclick="javascript:scroller('header_5', 800);">header_2 --> header_5</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_3" id="header_3"></a>            <strong onclick="javascript:scroller('header_6', 800);">header_3 --> header_6</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_4" id="header_4"></a>            <strong onclick="javascript:scroller('header_7', 800);">header_4 --> header_7</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_5" id="header_5"></a>            <strong onclick="javascript:scroller('header_3', 800);">header_5 --> header_3</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_6" id="header_6"></a>            <strong onclick="javascript:scroller('header_2', 800);">header_6 --> header_2</strong>            <p>            </p>        </p>        <p class="test">            <a name="header_7" id="header_7"></a>            <strong onclick="javascript:scroller('header_1', 800);">header_7 --> header_1</strong>            <p>            </p>        </p>    </body></html>

以上就是html 錨點三種實現方法的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 芦山县| 阜城县| 稻城县| 保康县| 随州市| 奇台县| 邓州市| 江口县| 沅江市| 红河县| 崇左市| 浦北县| 青海省| 灵川县| 石景山区| 东乡族自治县| 北碚区| 滨海县| 安图县| 鹤庆县| 长春市| 扬中市| 林西县| 隆回县| 桐梓县| 蓬莱市| 池州市| 彩票| 曲麻莱县| 鄄城县| 平利县| 南皮县| 馆陶县| 镇宁| 松阳县| 凤山市| 基隆市| 孝昌县| 上犹县| 赤城县| 长海县|