电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:30日期: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
主站蜘蛛池模板: 东莞韩创-专业绝缘骨架|马达塑胶零件|塑胶电机配件|塑封电机骨架厂家 | 全自动五线打端沾锡机,全自动裁线剥皮双头沾锡机,全自动尼龙扎带机-东莞市海文能机械设备有限公司 | 碳纤维布-植筋胶-灌缝胶-固特嘉加固材料公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 佛山市钱丰金属不锈钢蜂窝板定制厂家|不锈钢装饰线条|不锈钢屏风| 电梯装饰板|不锈钢蜂窝板不锈钢工艺板材厂家佛山市钱丰金属制品有限公司 | 济南品牌包装设计公司_济南VI标志设计公司_山东锐尚文化传播 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 粉丝机械,粉丝烘干机,粉丝生产线-招远市远东粉丝机械有限公司 | 电动卫生级调节阀,电动防爆球阀,电动软密封蝶阀,气动高压球阀,气动对夹蝶阀,气动V型调节球阀-上海川沪阀门有限公司 | 科箭WMS仓库管理软件-TMS物流管理系统-科箭SaaS云服务 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 烟台螺纹,烟台H型钢,烟台钢材,烟台角钢-烟台市正丰金属材料有限公司 | 设计圈 - 让设计更有价值!| 家德利门业,家居安全门,别墅大门 - 安徽家德利门业有限公司 | 厦门网站建设_厦门网站设计_小程序开发_网站制作公司【麦格科技】 | 南京泽朗生物科技有限公司-液体饮料代加工_果汁饮料代加工_固体饮料代加工 | 粘度计NDJ-5S,粘度计NDJ-8S,越平水分测定仪-上海右一仪器有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 净水器代理,净水器招商,净水器加盟-FineSky德国法兹全屋净水 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 捆扎机_气动捆扎机_钢带捆扎机-沈阳海鹞气动钢带捆扎机公司 | 烘箱-工业烘箱-工业电炉-实验室干燥箱 - 苏州华洁烘箱制造有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 粉碎机_塑料粉碎机_塑料破碎机厂家-星标机械 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 菲希尔X射线测厚仪-菲希尔库伦法测厚仪-无锡骏展仪器有限责任公司 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 上海橡胶接头_弹簧减震器_金属软接头厂家-上海淞江集团 | 代理记账_公司起名核名_公司注册_工商注册-睿婕实业有限公司 | 平面钻,法兰钻,三维钻-山东兴田阳光智能装备股份有限公司 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 罗氏牛血清白蛋白,罗氏己糖激酶-上海嵘崴达实业有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 |