模拟淘宝/支付宝——实现tab栏左右拖动,进度条同步滑动距离

小咪咪 2023-06-25 14:28 67阅读 0赞

20191229171714336.png

html



开始

开始

开始

开始

开始

开始

开始

  1. <div class="boxtab1">
  2. <i ref="littleBar"></i>
  3. </div>

css

.boxtab1{

  1. margin-top: 20px;
  2. width: 40px;
  3. height: 5px;
  4. background: \#cccccc;
  5. position: relative;
  6. border-radius: 5px

}

.boxtab1 i{

  1. border-radius: 5px;
  2. position: absolute;
  3. top: 0;
  4. left: 0;
  5. width: 20px;
  6. height: 5px;
  7. display: inline-block;
  8. background:red;

}

.boxtab{

  1. width: 300px;
  2. height: 30px;
  3. overflow: hidden;
  4. white-space: nowrap;
  5. overflow-x: auto;
  6. -webkit-overflow-scrolling:touch;
  7. background:red

}

.boxtab span{

  1. padding: 4px 8px;
  2. margin: 0 4px

}

js

// 导航栏滑动
slide () {
let that = this
let left = this.$refs.navTabItems.scrollLeft
// 导航栏向左滑动的距离
that.scrollLeft = left
console.log(‘导航栏向左滑动了’, left)
// 导航栏可滚动的距离
let navWidth = this.$refs.navTabItems.scrollWidth - this.$refs.navTabItems.offsetWidth
// 进度条可滚动的距离
let barWidth = this.$refs.littleBar.scrollWidth
console.log(‘navWidth’, navWidth, ‘barWidth’, barWidth)

  1. // 获取进度条向左滑动的距离mobileBarLeft = 进度条宽度barWidth / 导航栏宽度navWidth \* 导航栏向左移动的距离 that.scrollLeft
  2. let mobileBarLeft = barWidth / navWidth \* that.scrollLeft
  3. this.$refs.littleBar.style.left = mobileBarLeft + 'px'
  4. let barLeft = this.$refs.littleBar.style.left
  5. console.log('进度条向左移动了', barLeft)
  6. \},

发表评论

表情:
评论列表 (有 0 条评论,67人围观)

还没有评论,来说两句吧...

相关阅读

    相关 支付支付实现

    1.去支付宝开发者官网申请公司企业账号并开通一个应用,完善基础信息,在应用里签约APP支付功能,同时选择需要的服务(如APP支付宝登录、获取会员手机号、刷脸付等) 经过这

    相关 jQuery案例--仿精品

    jQuery案例–仿淘宝精品栏 在淘宝(今天我去找了找没找到)之前会有这样一个小窗口,推荐一些精品的东西,左边有推荐的东西,右边会有图片,鼠标放在商品名称上,商品名称的背