頁面跳轉/onclick后頂在網頁最上面:href錨點的使用


一、問題截圖

目的:點擊用戶實現相關寫信功能

問題:點擊用戶整塊frame后它頂在頁面最上面,由於header固定頭在那里,所以我看不到frame的title了。

 

 

 

 

 

 

二、出現原因

2.1程序更正

我錯誤程序這么寫的:

<li onclick="$('#username').val('${it.username}');$('#userid').val('${it.id}')">
       <a href="#" >
           <%--         用戶列表詳細信息    --%>
       </a>
</li>

<input type="text" name="username" id="username" class="form-control1 control3" placeholder="被發送者 :">
<input type="hidden" name="userid" id="userid" class="form-control1 control3" placeholder="被發送者 :">
          

改之后:

<li >
       <a href="javascript:void(0);" onclick="$('#username').val('${it.username}');$('#userid').val('${it.id}')">
           <%--         用戶列表詳細信息    --%>
       </a>
</li>

<input type="text" name="username" id="username" class="form-control1 control3" placeholder="被發送者 :">
<input type="hidden" name="userid" id="userid" class="form-control1 control3" placeholder="被發送者 :">
  

 

是因為沒有弄清href="",這叫做錨點。

herf="#",即指向網頁的頂部,我原本頂部放了header,所以導致被遮蓋。換為href="javascript:void(0);"就不會出錯了。

 
        

 

2.2href=”javascript:void(0);”與href=”#"的區別

摘自:href="javascript:void(0)" 的用法 - 海燕。 - 博客園 (cnblogs.com)

<a href="javascript:void(0)">點擊</a>點擊鏈接后不會回到網頁頂部 <a href="#">點擊</a> 點擊后會回到網頁頂部

href=”javascript:void(0);”這個的含義是,讓超鏈接去執行一個js函數,而不是去跳轉到一個地址,
而void(0)表示一個空的方法,也就是不執行js函數。
"#"其實是包含了位置信息,例如默認的錨點是#top 也就是網頁的上端
而javascript:void(0) ,僅僅表示一個死鏈接,這就是為什么有的時候頁面很長,瀏覽鏈接明明是#,可是跳動到了頁首
而javascript:void(0), 則不是如此所以調用腳本的時候最好用void(0)。

 

三、錨點錨記href的使用

通俗的講,我們想要讓頁面定位到的位置,即為錨點。錨點本身就是一種超鏈接,它指向頁面面內部特定的部分。

錨點鏈接的定位,需要由兩個部分組成:

(1)錨點標記,也就是要定位到的位置,我們稱為“錨記”;

(2)指向錨記的鏈接

 

摘自:HTML小技巧之——巧用<a>標簽錨鏈接(#錨點鏈接 #頁面特定位置 #錨點定位 #DOM定位 #hash路由中使用錨鏈接) - 碼上快樂 (codeprj.com)

 

3.1跳轉本頁面的錨點鏈接

(1)設置一個錨點:使用a標簽name屬性表示錨點名稱
(2)在超鏈接的href屬性中,使用#+name 跳到指定的錨點位置。

 

 

 

3.2其他頁面錨鏈接


(1)需跳轉的頁面設置錨鏈接
(2)在超鏈接的href屬性,文件名.html#name。

 

 

 

3.3不點擊直接跳轉錨鏈接的情況

 

下面展示了使用頁面便簽id實現錨記的栗子,也就是所謂的,“id”定位法

 

 

 

3.4react、vue等使用hash路由的框架中使用錨鏈接

 

對於react及vue中使用hashRouter的情況,可在路由地址(及參數)后添加 #name即可

舉例,最終處理地址應為如下格式

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM