vue項目hash路由錨點定位問題


路由 hash 模式已經將#占用, 頁面的錨點功能失效,此時就不能使用a標簽進行定位跳轉了。

//a標簽跳轉方法;
//初始位置  跨頁面需要在‘#’前面加上頁面路徑;
<a href="#top">跳轉到頂部</a>
//目標位置;
<div id="top">這是頂部</div> 

其他方法:

  1. window.scrollTo(x,y); x,y為坐標,需要知道目標位置的准確坐標;無單位,像素值;和scroll用法基本一致
//也可以是對象
element.scrollTo({
  top: 100,
  left: 100,
  behavior: 'smooth'
});

2.Element.scrollIntoView() 使某元素對用戶可見,就是把該元素拎到可視窗口;

Element.scrollIntoView(不填/布爾值/對象)
Element.scrollIntoView(true)  元素的頂部將與可滾動祖先的可見區域的頂部對齊  默認值
Element.scrollIntoView(false) 元素的底部將與可滾動祖先的可見區域的底部對齊。
element.scrollIntoView(
    {
     behavior: "smooth",//定義過渡動畫。其中一個auto或smooth。默認為auto.
     block: "end", //定義垂直對齊。一start,center,end,或 nearest。默認為start.
     inline: "nearest",//定義水平對齊方式。一start,center,end,或 nearest。默認為nearest.
    }
);


免責聲明!

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



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