Vue3.0实现点击左右切换按钮,滑动切换不同内容的效果
这个是默认效果当我点击了向右的按钮,显示如下效果:思路是这样的: 首先它也是切换,只不过加了个css滑动的样式。切换一般都是定义一个变量,表示默认情况下是什么样的。接下来发现,每次滑动的距离正好是版心的宽度,transform:translateX(滑动的距离)那就是两种状态,一种是当前这种,一种是左滑一个版心的宽度。当我们点击不同的按钮时,transform:translateX(滑动的距离)
·
这个是默认效果
当我点击了向右的按钮,显示如下效果:
思路是这样的: 首先它也是切换,只不过加了个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 所以这个距离加在谁身上,看哪个标签是版心宽度
更多推荐
已为社区贡献7条内容
所有评论(0)