国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

vue3錨點定位兩種實現方式示例

瀏覽:33日期:2022-06-12 18:41:03
目錄方法1: 利用ref實現錨點定位 前面的廢話文學解決問題的方法1. setup函數內定義變量2. 動態獲取ref并存放到eleRefs數組當中3. 滾動到特定的ref位置方法2: 利用a標簽實現錨點定位(滾動響應)第二次的廢話文學解決問題的方法2.滾動響應總結方法1: 利用ref實現錨點定位 前面的廢話文學

說到錨點定位,很多人第一時間會想到 a標簽。但是a標簽實現的錨點定位并不是那么的完美,特別是在hash模式下。對我而言,vue3的ref就實在是太完美了。

解決問題的方法

很多情況下,我們會循環一定格式的數據對頁面進行渲染,然后再有錨點定位的需求。那么我們該怎么去做呢?

1. setup函數內定義變量const eleRefs = ref([]);const setRef = (el) => { if (el) { eleRefs.value.push(el); }};//獲取變量值console.log(eleRefs.value[0])2. 動態獲取ref并存放到eleRefs數組當中 <template v-for='(item, index) in data.catalogue'> <div :id=''part' + item.id' :ref='setRef'><div class='part-box'> <template v-for='(j, k) in item.picUrls' :key='k'> <img :src='https://www.jb51.net/javascript/j'> </template></div><template v-for='(i, ind) in item.children'> <div :id=''part' + i.id' :ref='setRef' class='part-box'> <template v-for='(j, k) in i.picUrls' :key='k'> <img :src='https://www.jb51.net/javascript/j'> </template> </div></template> </div> </template>3. 滾動到特定的ref位置eleRefs.value[0].scrollIntoView({ block: 'start', behavior: 'smooth' });

over

方法2: 利用a標簽實現錨點定位(滾動響應)第二次的廢話文學

小編想了,還是想把a標簽的錨點定位也記錄一下。

無論是PC端、移動端,還是APP、小程序,只要涉及長篇文章/畫冊、tab切換等的都可能會有錨點定位的需求。我們前端就需要做到點擊錨點能定位,滾動頁面能響應。

解決問題的方法

1. a標簽 定位到指定位置

// 錨記<a rel='external nofollow' >點擊此處到目標位置</a>// 錨記位置<div id='site'></div>2.滾動響應

監聽滾動事件

let currSite = document.documentElement.scrollTop || document.body.scrollTop // document.documentElement.scrollTop // 當前滾動位置let windowHeight =window.innerHeight||document.documentElement.clientHeight || document.body.clientHeight // 視口高度 // 獲取元素信息 let ele = document.getElementById('site') let eleTop = ele.offsetTop // 元素距頁面頂部高度(頭部) let eleHeight = ele.clientHeight // 元素高度 let eleBot = eleHeight + eleTop // 元素底部距頁面頂部高度(尾部)/* 判斷元素是否在可視區域:1.元素內嵌可視區域(首尾均在可視區域內)2.元素外嵌可視區域(首位均在可視區域外)3.元素頭部在可視區域內,尾部在可視區域外*/if(eleTop >= currSite &&eleTop < currSite + windowHeight || (eleBot > currSite &&eleBot < currSite + windowHeight) || (eleTop e < currSite && eleBot > currSite + windowHeight)){ // 元素在可視區域}else{// 元素不在可視區域}

over

總結

到此這篇關于vue3錨點定位兩種實現方式的文章就介紹到這了,更多相關vue3錨點定位內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: JavaScript
主站蜘蛛池模板: 成人中文字幕一区二区三区 | 91免费视 | 成人a毛片高清视频 | 成人精品国产 | 欧美人禽杂交狂配毛片 | 爽爽窝窝午夜精品一区二区 | 欧美成人午夜不卡在线视频 | 亚洲理论欧美理论在线观看 | 成人欧美视频 | 国产杨幂福利在线视频观看 | 免费黄网大全 | 京野结衣免费一区二区 | 特级毛片aaaa免费观看 | 国产成人精品三级91在线影院 | 国产成人偷拍 | 欧美一区二区在线视频 | 亚洲人成网国产最新在线 | 波多野结衣一区二区 三区 波多野结衣一区二区三区88 | 亚洲精品福利一区二区三区 | 欧美成人精品手机在线观看 | 久久影院在线 | 久久天天躁综合夜夜黑人鲁色 | 欧美日韩精品免费一区二区三区 | 精品看片| 国产欧美17694免费观看视频 | 玖草在线资源 | 花蝴蝶在线 | 女人张开腿让男人捅视频 | 香港经典a毛片免费观看爽爽影院 | 欧美一级视频免费观看 | 久久精品视频亚洲 | 91精品免费看 | 亚洲男人第一天堂 | 一级黄片毛片 | 69成人免费视频 | 2020精品极品国产色在线观看 | 男人的天堂在线免费视频 | 一级免费视频 | 91福利国产在线观看香蕉 | 国内精品亚洲 | 久久久久亚洲视频 |