Vue.js 使用Vuejs动画创建向左滑动效果

Vue.js 使用Vuejs动画创建向左滑动效果,vue.js,Vue.js,我已经阅读了有关Vuejs动画的文档。但使用css钩子,我只能使元素以淡入淡出和不同的持续时间出现/消失 <div id="demo"> <button v-on:click="show = !show"> Toggle </button> <transition name="fade"> <p v-if="show">hello</p> </transition> </di

我已经阅读了有关Vuejs动画的文档。但使用css钩子,我只能使元素以淡入淡出和不同的持续时间出现/消失

<div id="demo">
  <button v-on:click="show = !show">
    Toggle
  </button>
  <transition name="fade">
    <p v-if="show">hello</p>
  </transition>
</div>


.fade-enter-active, .fade-leave-active {
  transition: opacity .5s
}
.fade-enter, .fade-leave-to /* .fade-leave-active in <2.1.8 */ {
  opacity: 0
}

切换
你好

。淡入激活状态。淡入保持激活状态{ 过渡:不透明度 }
.fade-enter、.fade-leave-to/*.fade-leave-active在中您完全可以使用VueJS执行此操作。 请看下面的示例。您可以看到两个示例,一个是为您的案例采用的代码(使其成为幻灯片)。另一个是一个简单的图像滑块,它以3秒的间隔在图像数组中循环

这里需要注意的重要一点是,我们将image元素包装在for循环中,以强制销毁元素,因为否则您的元素将不会从DOM中删除,也不会转换(虚拟DOM)

为了更好地了解VueJS中的转换,建议您签出

newvue({
el:'演示',
数据:{
消息:“单击幻灯片”,
秀:没错,
imgList:[
'http://via.placeholder.com/350x150',
'http://via.placeholder.com/350x151',
'http://via.placeholder.com/350x152'
],
当前img:0
},
安装的(){
设置间隔(()=>{
this.currentImg=this.currentImg+1;
}, 3000);
}
})
#演示{
溢出:隐藏;
}
.滑动保持活动状态,
.滑入激活状态{
过渡:1s;
}
.滑入{
转换:转换(100%,0);
}
.向左滑到{
转换:转换(-100%,0);
}
.img滑块{
溢出:隐藏;
位置:相对位置;
高度:200px;
宽度:400px;
}
.img滑块img{
位置:绝对位置;
排名:0;
左:0;
底部:0;
右:0;
}

VueJS 2.0-图像滑块
切换

{{message}

Img滑块
谢谢你的回答,这对我帮助很大! 因为最初的示例有两个方向滑动的按钮, 我通过添加“下一步”和“上一步”按钮对其进行了一些改进。当按下“上一步”时,我交换动画以使其按oposite方式运行:

newvue({
el:'演示',
数据:{
背:错,
当前索引:0
},
方法:{
下一个(){
this.back=false;
这个.currentIndex++;
},
prev(){
this.back=true;
此.currentIndex--;
}
},
})
#演示{
溢出:隐藏;
}
.滑动保持活动状态,
.滑入激活状态{
过渡:1s;
}
.滑入{
转换:转换(100%,0);
}
.向左滑到{
转换:转换(-100%,0);
}
.滑回保持活动状态,
.slideback进入活动状态{
过渡:1s;
}
.slideback回车{
转换:转换(-100%,0);
}
.滑回至{
转换:转换(100%,0);
}
.div滑块{
溢出:隐藏;
位置:相对位置;
高度:100px;
宽度:90%;
}
.div滑块.card{
位置:绝对位置;
高度:100px;
宽度:90%;
背景色:#60adff;
}

VueJS 2.0-图像滑块
div滑块
第一组
第2组
第一组
上
下一个

嘿,这里有一个很好的例子,谢谢!有一个问题,这只是向一个方向滑动,我如何允许两个箭头(一个左箭头和一个右箭头)将图像向右或向左滑动???@sicky我目前遇到了一个类似的问题,我的Vue转换没有触发,但是,我的数据似乎是被动的。如果你能看一看并分享你对我哪里出了问题的想法,那就太好了我是@Benny我们如何滑到另一边的?我开始使用vue slick,而不是摆弄vue js动画来实现简单的滑动效果,它还支持许多其他滑动效果@Benny,我想你可以使用像
this.currentImg=this.currentImg+1
这样的方法作为左按钮,而
this.currentImg=this.currentImg-1
作为下一个按钮简单而有效!