这个是默认效果 

当我点击了向右的按钮,显示如下效果:

 

 思路是这样的: 首先它也是切换,只不过加了个css滑动的样式。切换一般都是定义一个变量,表示默认情况下是什么样的。接下来发现,每次滑动的距离正好是版心的宽度,transform:translateX(滑动的距离)    那就是两种状态,一种是当前这种,一种是左滑一个版心的宽度。当我们点击不同的按钮时,transform:translateX(滑动的距离) 这个滑动距离同步变化,所以想到用计算属性来监听 点了哪个按钮

我们把初始的状态设置为0,为1时,左滑版心宽度

 const curIdx = ref(0)
    // 为什么想到再去定义一个变量呢,有个禁用,肯定要有个值作比较
    const tranX = computed(() => {
      const t = -1240 * curIdx.value  // 1240是我定义的版心宽度,具体看你版心定义的多少了
      return `transform:translateX(${t}px)`
    })

点击的按钮: 

滑动:五张图我用的ul li  所以这个距离加在谁身上,看哪个标签是版心宽度 

 

 

 

Logo

前往低代码交流专区

更多推荐