- 32
- 0
各位大佬,我在做购物车小球的时候发现一个问题,第一次购买的时候,没有小球动画,以后的几次都有,有知道是什么引起的么?
<template>
<div @click="addCart($event)"></div>
<div class="ball-container">
<transition-group name="drop"
v-on:before-enter="beforeEnter"
v-on:enter="enter"
v-on:after-enter="afterEnter"
>
<div class="ball" v-show="ball.show" v-for="(ball, index) in balls" :key="ball.id">
<div class="inner inner-hook"></div>
</div>
</transition-group>
</div>
<template>
<script>
export default {
data () {
return {
balls: []
}
},
methods: {
addBall ($event) {
this.balls.push({
show: true,
id: this.balls.length,
x: $event.clientX,
y: $event.clientY
})
},
beforeEnter (el) {
let count = this.balls.length
let x = this.balls[count-1].x - 32
let y = -(window.innerHeight - this.balls[count-1].y -22 )
el.style.webkitTransform = `translate3d(0, ${y}px, 0)`
el.style.transform = `translate3d(${x - 16}px, ${y}px, 0)`
let inner = el.getElementsByClassName('inner-hook')[0]
inner.style.webkitTransform = `translate3d(${x}px, 0, 0)`
inner.style.transform = `translate3d(${x}px, 0, 0)`
},
enter (el, done) {
this.$nextTick(() => {
el.style.webkitTransform = 'translate3d(0, 0, 0)'
el.style.transform = 'translate3d(0, 0, 0)'
let inner = el.getElementsByClassName('inner-hook')[0]
inner.style.webkitTransform = 'translate3d(0, 0, 0)'
inner.style.transform = 'translate3d(0, 0, 0)'
done()
})
},
afterEnter (el) {
setTimeout(() => {
el.style.display = 'none'
}, 1000)
}
}
}
</script>
<style>
.ball-container
.ball
position fixed
left 32px
bottom 22px
z-index 200
transition all 1s
.inner
width 16px
height 16px
border-radius 50%
background rgb(0, 160, 220)
.drop-enter-active
transition all 1s ease
</style> 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
ζ旧梦已逝ζ 普通会员 1楼
Vue Transition Group 是一个过渡动画组件,可以帮助你实现更优雅的过渡效果。但是,如果第一次使用 Transition Group,并没有生效,可能是因为以下原因:
-
CSS 样式错误:确保你的 Transition Group 样式正确。如果在你的 CSS 文件中使用了 Transition Group,那么它需要与你的其他 CSS 样式同时存在。如果一个样式没有生效,可能是因为你的 CSS 代码中有其他影响其生效的样式。
-
缺少 Transition Group 元素:确保你已经在你的 HTML 中添加了 Transition Group 元素。如果你的 HTML 文件中没有包含这个元素,那么它将无法被 Vue 组件正常引用。
-
JavaScript 设置:确保你的 JavaScript 设置正确。如果在你的 Vue 组件中使用了 Transition Group,那么它需要在你的 JavaScript 中设置。
-
CSS 配置:确保你的 CSS 配置正确。如果在你的 CSS 文件中使用了 Transition Group,那么它需要与你的其他 CSS 配置同时存在。
-
浏览器兼容性问题:确保你的浏览器兼容性正确。如果在某些情况下,你的 Transition Group 仍然无法生效,那么可能是浏览器兼容性问题。
如果你已经检查了以上所有可能的原因,但是仍然无法解决问题,那么可能需要尝试其他的方法,例如查看 Vue 的官方文档,或者寻求其他开发者的帮助。
-
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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