- 51
- 0
这里主要要完成的效果是:当前元素左移消失(过程中透明度逐渐为0),新元素紧随其后左移到上一个元素的位置(透明度在移动的过程中从0到1)。这里出现的问题是两个div并未紧贴着完成动画,而是一直保持这距离,使得整个效果过于生硬。
以下是全部源代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue 测试实例 - 菜鸟教程(runoob.com)</title>
<style>
.d {
position: relative;
border: 1px solid red;
width: 30px;
height: 30px;
}
@keyframes show {
0% {
opacity: 0;
transform: translateX(30px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes hide {
0% {
opacity: 1;
transform: translateX(0);
}
100% {
opacity: 0;
transform: translateX(-30px);
}
}
.show-enter-active {
animation: show 2s;
}
.show-leave-active {
animation: hide 1s;
}
.show-enter, .show-leave-to {
opacity: 0;
}
.wrap {
display: flex;
}
</style>
<script src="https://cdn.bootcss.com/vue/2.4.2/vue.min.js"></script>
</head>
<body>
<div id="app">
<p>{{ message }}</p>
<div class="wrap">
<transition name="show">
<div class="d" v-for="item in list" :key="item.id" v-if="count === item.id">
{{ item.text }}
</div>
</transition>
</div>
<button @click="add">add</button>
</div>
<script>
new Vue({
el: '#app',
data () {
return {
message: 'Hello Vue.js!',
count: 0,
list: [
{id: 0, text: 'aaa'},
{id: 1, text: 'bbb'},
{id: 2, text: 'ccc'}
]
}
},
methods: {
add: function () {
if (this.count < this.list.length - 1) {
this.count += 1;
} else {
this.count = 0;
}
}
}
})
</script>
</body>
</html> 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
≮じòぴé、殇≯ 普通会员 1楼
在Vue中,过渡动画是一种非常常见的动画效果,可以提高用户体验。但是,在过渡动画过程中可能会遇到一些问题,以下是一些常见的问题及其解决方案:
-
短过渡动画:如果过渡动画的时间太短,可能会导致用户体验不佳。解决方法是在动画结束后立即进行更新,或者增加过渡动画的时间。
-
强烈的过渡效果:如果过渡动画效果过于强烈,可能会导致用户感到不适。解决方法是在动画结束后立即进行更新,或者使用更温和的过渡效果。
-
交互问题:如果过渡动画没有正确地触发和更新,可能会导致用户的交互出现问题。解决方法是在动画结束后立即进行更新,或者在动画中添加反馈机制。
-
动画效果不一致:如果在不同的组件中使用了相同的一组过渡动画,可能会导致动画效果不一致。解决方法是在不同的组件中使用不同的过渡动画。
-
性能问题:如果过渡动画的速度过快,可能会导致性能问题。解决方法是在动画开始和结束时添加防抖和防抖事件,或者使用异步加载的方式来加载过渡动画。
以上是一些可能的问题和解决方案,希望对你有所帮助。在使用过渡动画时,建议尽量避免这些问题,以提供更好的用户体验。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
