JS在頁面上快速定位(錨點跳轉(zhuǎn)問題)

1. 錨點跳轉(zhuǎn)簡介

錨點其實就是可以讓頁面定位到某個位置上的點腹备。在高度較高的頁面中經(jīng)常見到双仍。
錨點跳轉(zhuǎn)有兩種形式:

  • a標(biāo)簽 + name / href 屬性
  • 使用標(biāo)簽的id屬性

在html 4.0以前竿屹,只有使用 <a> 標(biāo)簽的 name 屬性才能創(chuàng)建片段標(biāo)識符偎球。id 屬性的出現(xiàn)伙单,使所有 HTML 或 XHTML 元素都可以是片段標(biāo)識符胯杭。這是因為 id 標(biāo)識符幾乎可以用在所有的標(biāo)簽中。<a> 標(biāo)簽為了能夠和以前的版本相兼容而保留了 name 屬性膜宋,同時也可以使用 id 屬性窿侈。這些屬性可以相互交換使用,可以把 id 屬性看作是 name 屬性的升級版本秋茫。name 和 id 屬性都可以與 href 屬性結(jié)合起來使用史简,這樣一個 <a> 標(biāo)簽就可以同時作為超鏈接和片段標(biāo)識符使用。

<a href="#he">波輪洗衣機(jī)介紹</a>
<a href="#f"></a>

但是這種方法使用了一個空標(biāo)簽肛著,而且有時候會出現(xiàn)錨點失效圆兵。所以建議采用id來綁定錨點,代碼如下:

<a href="#he">波輪洗衣機(jī)介紹</a><h2 id="#de">波輪洗衣機(jī)介紹</h2>

2. 含錨點跳轉(zhuǎn)的URL地址

window.location.hash
【1】關(guān)于#
在頁面的制作中枢贿,“#”的符號很常見殉农,并且具有通用性【旨裕基本上超凳,其表示的含義是id選擇符。同樣的危队,在頁面的URL中聪建,#也可以理解為id選擇符之意,也就是頁面跳轉(zhuǎn)到含URL指向的id標(biāo)簽處茫陆。
例如輸入一個地址http://baike.baidu.com/view/121414.htm?pf=1#3
這個地址中末尾有個'#'金麸,這個就相當(dāng)于告訴瀏覽器要跳轉(zhuǎn)了,#后面跟著的3表示會在http://baike.baidu.com/view/121416.htm?pf=1的頁面中尋找符合#3特點的標(biāo)簽并且執(zhí)行跳轉(zhuǎn)簿盅。
【2】關(guān)于空錨點指向
如果URL中的#后面跟隨的字符id在文中找不到挥下,就會有兩種情況:如果是在當(dāng)前頁面,除了URL地址變化了桨醋,其他的不會改變棚瘟,頁面不會有跳轉(zhuǎn);如果是從其他頁面跳轉(zhuǎn)過來喜最,則頁面會在頂部顯示偎蘸,'#'基本就是擺設(shè)。
【3】window.location.hash
用來獲取或設(shè)置頁面的標(biāo)簽值瞬内。http://www.cnblogs.com/nifengs/p/5104763.html

3. Jquery下錨點的平滑跳轉(zhuǎn)迷雪。

如果讓頁面平滑滾動到一個idbox的元素處,則JQuery代碼只要一句話虫蝶,關(guān)鍵位置如下:

$('html, body').animate({scrollTop: $('#box').offset().top}, 1000)

JS原生實現(xiàn)章咧。

scrollTo() 方法可把內(nèi)容滾動到指定的坐標(biāo)。
scrollTo(xpos,ypos);

4. IE下錨點刷新失效及JQuery下的解決

【1】關(guān)于錨點刷新失效
錨點刷新失效就是指當(dāng)按下刷新鍵F5時能真,即使此時URL的后面就隨錨點赁严,此錨點也是不起作用的扰柠。
【2】在Jquery中,不難實現(xiàn)疼约÷钡担可以根據(jù)URL獲取錨點,從而進(jìn)一步獲得對應(yīng)錨點對象忆谓,然后再讓頁面的滾動高度為其距離頁面頂部的偏移值就可以了裆装。使得頁面無論是重新載入還是其刷新,其后面的錨點都起作用倡缠。

$(function() {
    var url = window.location.toString();
    var id = url.split('#')[1];
    if (id) {
        var t = $('#' + id).offset().top;
        $(window).scrollTop(t);
    }
})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市茎活,隨后出現(xiàn)的幾起案子昙沦,更是在濱河造成了極大的恐慌,老刑警劉巖载荔,帶你破解...
    沈念sama閱讀 219,270評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件盾饮,死亡現(xiàn)場離奇詭異,居然都是意外死亡懒熙,警方通過查閱死者的電腦和手機(jī)丘损,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來工扎,“玉大人徘钥,你說我怎么就攤上這事≈铮” “怎么了呈础?”我有些...
    開封第一講書人閱讀 165,630評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長橱健。 經(jīng)常有香客問我而钞,道長,這世上最難降的妖魔是什么拘荡? 我笑而不...
    開封第一講書人閱讀 58,906評論 1 295
  • 正文 為了忘掉前任臼节,我火速辦了婚禮,結(jié)果婚禮上珊皿,老公的妹妹穿的比我還像新娘网缝。我一直安慰自己,他們只是感情好亮隙,可當(dāng)我...
    茶點故事閱讀 67,928評論 6 392
  • 文/花漫 我一把揭開白布途凫。 她就那樣靜靜地躺著,像睡著了一般溢吻。 火紅的嫁衣襯著肌膚如雪维费。 梳的紋絲不亂的頭發(fā)上果元,一...
    開封第一講書人閱讀 51,718評論 1 305
  • 那天,我揣著相機(jī)與錄音犀盟,去河邊找鬼而晒。 笑死,一個胖子當(dāng)著我的面吹牛阅畴,可吹牛的內(nèi)容都是我干的倡怎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼贱枣,長吁一口氣:“原來是場噩夢啊……” “哼监署!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纽哥,我...
    開封第一講書人閱讀 39,345評論 0 276
  • 序言:老撾萬榮一對情侶失蹤钠乏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后春塌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晓避,經(jīng)...
    沈念sama閱讀 45,802評論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,984評論 3 337
  • 正文 我和宋清朗相戀三年只壳,在試婚紗的時候發(fā)現(xiàn)自己被綠了俏拱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,117評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡吼句,死狀恐怖锅必,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情命辖,我是刑警寧澤况毅,帶...
    沈念sama閱讀 35,810評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站尔艇,受9級特大地震影響尔许,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜终娃,卻給世界環(huán)境...
    茶點故事閱讀 41,462評論 3 331
  • 文/蒙蒙 一味廊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧棠耕,春花似錦余佛、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蕊退,卻和暖如春郊楣,著一層夾襖步出監(jiān)牢的瞬間憔恳,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評論 1 272
  • 我被黑心中介騙來泰國打工净蚤, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留钥组,地道東北人。 一個月前我還...
    沈念sama閱讀 48,377評論 3 373
  • 正文 我出身青樓今瀑,卻偏偏與公主長得像程梦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子橘荠,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,060評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理屿附,服務(wù)發(fā)現(xiàn),斷路器哥童,智...
    卡卡羅2017閱讀 134,667評論 18 139
  • 在線閱讀 http://interview.poetries.top[http://interview.poetr...
    程序員poetry閱讀 114,399評論 24 450
  • 1.幾種基本數(shù)據(jù)類型?復(fù)雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類型:Undefined拿撩、Nul...
    極樂君閱讀 5,520評論 0 106
  • 想必大家都遇到一種情況,明明y坐標(biāo)設(shè)置的是0如蚜,但是總是被討厭的導(dǎo)航欄給遮住。比如下面這個情況: 先創(chuàng)建測試用按鈕 ...
    納蘭怮翌閱讀 1,183評論 0 2
  • 廣州影暴,這座面積接近7500平方公里错邦,人口達(dá)1500萬的南方都市,本是一個熱鬧的集合體型宙。 但我在這里...
    阿羊是大叔閱讀 362評論 3 6