亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

單擊時如何保持可用的 LINK 但禁用 #LINK?

單擊時如何保持可用的 LINK 但禁用 #LINK?

富國滬深 2022-01-07 21:20:31
我們曾經使用#link 轉到頁面上我們想要的部分。也可以使用animate,scrollTop()使滾動平滑。但是如果#link(哈希鏈接)在導航菜單上,那么我們必須這樣放置,example.com/pageslug/#sectionid這樣如果我們在單獨的頁面上,那么它會將我們重定向到特定頁面的部分。但是由于固定的導航菜單,這隱藏了該部分的一些文本。同樣,如果我們正在使用animate并且scrollTop()我們必須使用e.preventDefault()并且如果我們使用它,這將阻止頁面重定向。我的問題是如何制作可點擊的鏈接以及用animate和阻止#link scrollTop()。我不知道這個問題是否正確,但我已經嘗試/搜索了很多但沒有任何解決方案,所以我來到這里。先感謝您。
查看完整描述

3 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

禁用可行的鏈接使用 href = "javascript:void(0)" 如果你想使用 animate 和 scrollTop 使用 href = "javascript:void(0);" 如果您想進入頁面中的特定部分,請在超鏈接中使用 href="#sectionid"


查看完整回答
反對 回復 2022-01-07
?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

謝謝為我努力過的人。我有辦法克服這個障礙。但我確信它不是 SEO 友好的。


如果我們將 URL 設為 example.com/pageslug?id=sectionid


那么下面的功能可以幫助你。


$.urlParam = function(name){ // function to get the section id passed through URL

    var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);

    return results[1] || 0;

}



var sectionid = $.urlParam('id');

if(sectionid != null) {

    $('html, body').animate({

        scrollTop: $("#"+sectionid).offset().top - 100

    }, 1000);

}

但是,如果有任何更好的答案和/或對 SEO 友好的答案,我們將不勝感激。


查看完整回答
反對 回復 2022-01-07
?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

為此,您可以在目標頁面上使用動畫功能,如果 url 具有部分 ID,則此功能將運行。例如,目標網址是

example.com/pageslug/#sectionid.

在“example.com/pageslug”頁面上編寫動畫函數,如果要檢查的條件是 url 包含部分 id。如果部分 id 存在,則動畫函數將執行以顯示該部分的內容。

它可以解決你的問題。


查看完整回答
反對 回復 2022-01-07
  • 3 回答
  • 0 關注
  • 168 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號