当前位置: 首页 > news >正文

国家建设部网站倪虹东莞市网站seo内容优化

国家建设部网站倪虹,东莞市网站seo内容优化,百度统计怎么使用,平台期一般持续多久vue实现自定义滚动条 具体效果如下,这边我用的rem单位,比例是1:40, 先写下页面布局,把原生的滚动条给隐藏掉,给自定义的滑块增加transition: marginLeft 1s linear;可以使左边距过度的更顺滑 .top-box-2::-webkit-scr…

vue实现自定义滚动条

具体效果如下,这边我用的rem单位,比例是1:40,

vue实现自定义滚动条

先写下页面布局,把原生的滚动条给隐藏掉,给自定义的滑块增加transition: marginLeft 1s linear;可以使左边距过度的更顺滑
 .top-box-2::-webkit-scrollbar {height: 0;}
  <div class="wrap"><!-- 滚动窗口 --><divclass="top-box-2"@scroll="onScroll"ref="box1"><divclass="top-item"v-for="(item,index) in 6":key="index"></div></div><!-- 自定义滚动条 --><divclass="bar"ref="bar"><!-- 滚动滑块 --><spanref="barInner":style="{'margin-left':barLeft+'px'}"></span></div></div>
首先我们要先获取滚动窗口的滚动百分比
 this.diff = this.$refs.box1.scrollWidth - this.$refs.box1.clientWidth; //获取原生滚动条可以滚动的距离,盒子的总宽度-盒子的可视宽度this.barWidth =this.$refs.bar.clientWidth - this.$refs.barInner.clientWidth; //获取自定义滚动条可以滚动的距离,盒子的总宽度-滑块的宽度
然后获取滚动盒子的百分比,然后设置自定义滚动条滑块的左边距
      this.radio = Math.ceil((e.target.scrollLeft * 100) / this.diff); //获取原生滚动盒子的百分比this.barLeft = this.barWidth * (this.radio / 100);   //计算自定义滑块左边距

下面是完整的代码

<template><div class="wrap"><!-- 滚动窗口 --><divclass="top-box-2"@scroll="onScroll"ref="box1"><divclass="top-item"v-for="(item,index) in 6":key="index"></div></div><!-- 自定义滚动条 --><divclass="bar"ref="bar"><!-- 滚动滑块 --><spanref="barInner":style="{'margin-left':barLeft+'px'}"></span></div></div>
</template><script>
export default {data() {return {diff: 0,scrollLeft: 0,radio: 0,barLeft: 0,barWidth: 0,barInnerWidth: 0,};},mounted() {// 延迟2秒执行获取元素宽度的方法,否则原生滚动条可以滚动的距离计算出来会是0setTimeout(() => {this.$nextTick(() => {this.init();});}, 2000);},methods: {init() {this.diff = this.$refs.box1.scrollWidth - this.$refs.box1.clientWidth; //获取原生滚动条可以滚动的距离,盒子的总宽度-盒子的可视宽度this.barWidth =this.$refs.bar.clientWidth - this.$refs.barInner.clientWidth; //获取自定义滚动条可以滚动的距离,盒子的总宽度-滑块的宽度},onScroll(e) {this.radio = Math.ceil((e.target.scrollLeft * 100) / this.diff); //获取原生滚动盒子的百分比this.barLeft = this.barWidth * (this.radio / 100); //计算自定义滑块左边距},},
};
</script><style lang='scss' scoped>
.wrap {.top-box-2::-webkit-scrollbar {height: 0;}.top-box-2 {display: flex;height: 5rem;overflow-x: scroll;margin: 0 2rem;.top-item {flex-shrink: 0;width: 4rem;height: 3rem;border: 0.04rem solid red;margin: 0.5rem;box-sizing: border-box;&:first-child {margin: 0.5rem 0.5rem 0.5rem 0;}&:last-child {margin: 0.5rem 0 0.5rem 0.5rem;}}}.bar {width: 3rem;border-radius: 0.5rem;height: 0.5rem;border: 0.02rem solid red;margin: 0 auto;span {display: block;width: 0.8rem;height: 0.5rem;background: blueviolet;border-radius: 0.5rem;transition: marginLeft 1s linear;}}
}
</style>
http://www.tj-hxxt.cn/news/61734.html

相关文章:

  • 遵义做网站建设哪家公司好百度投诉中心入口
  • 做企业网站的多少钱深圳网络营销全网推广
  • 做网站什么系统好风云榜百度
  • 做社交网站多少钱互动营销
  • o2o网站建设多少钱南宁百度seo优化
  • 做网站的怎样找客户橙子建站
  • 网站建设dujujiangxin深圳网络推广营销
  • 哪些企业需要做网站建设武汉做搜索引擎推广的公司
  • .帮别人做网站广州seo网站推广
  • 佛山微信网站设计搜索引擎推广实训
  • 做素材网站如何赚钱山东济南seo整站优化公司
  • 动态网站开发知识点宁波网站制作设计
  • 烟台市建设工程质量检测网站台州关键词优化平台
  • 网站说服力 营销型网站策划 下载互联网公司网站模板
  • 天河网站建设公司万州网站建设
  • 长沙市规划建设局网站搜索引擎排名2021
  • 网站上滚动海报怎么做的seo公司排名教程
  • 怎么做网站引流南昌seo外包公司
  • 万网主机怎么上传网站吗网络营销推广公司
  • 委托别人做网站 域名所有权厦门人才网app
  • 用自己主机做网站山东关键词网络推广
  • 管理学习网站廊坊seo优化排名
  • 英文网站制作 官网新闻源软文发布平台
  • 群晖nas可以做网站佛山网站排名提升
  • 汝州网站制作网络推广的主要内容
  • 东莞做企业网站汽车品牌推广策划方案
  • asp企业营销型网站建设网络推广怎么样
  • wordpress 婚礼主题百度seo优化推广
  • 泉州网站制作注册自己的网站
  • 铜仁市建设局网站企业网站建设多少钱