当前位置: 首页 > Web前端 > vue.js

Vue实现动态tab标签滚动定位跟随动画

时间:2023-04-01 00:01:02 vue.js

虽然目前大部分UI框架都有tab组件,但有时不能满足需求,或者需要重新开发组件。考虑到总的原因,我还是决定自己写一个算了。Element.getBoundingClientRect()其实实现起来并不难。这里只需要使用getBoundingClientRect函数即可。根据文档的介绍,该方法返回元素的大小及其相对于窗口的位置。看图应该不难理解。图中的0,0在浏览器中指定了窗口的左上角,所以使用这个函数后,元素返回的top、bottom、left、right都是相对于窗口左上角的。设计分析由于tab的个数不固定,很可能会超出元素边界,所以需要用外层包裹tab层,overflow:hidden。滚动效果是通过改变css中的translate实现的。