javascript - 动画元素的意外行为
问题描述
这是我的动画的Codepen5。如您所见,“进入”项目数组中最后一个元素的动画存在问题。
几乎相同的代码适用于四个元素 - Codepen4。在我向菜单中添加了一个项目并使用以下代码重新组织小于 1300 像素的屏幕上的展开项目后,出现了问题;
if (winsize < 1600) {
if (i === 0) {
$(this.items[i]).css('transform', `translate(${ winsize/2 - 1.5*grow}px, 170px)`)
}
if(i === this.items.length - 1) {
$(this.items[i]).css('transform', `translate(${ -1*(winsize/2 - 1.5*grow)}px, 170px)`)
}
}
(第 43 - 51 行)
const quarter = winsize / 4;
还对第 31 行进行了更改:
const quarter = winsize / 5;
将欣赏任何关于出了什么问题的想法。
解决方案
我认为在开始动画后通过平移更改位置时会出现故障。所以.. 最好在使用 TweenMax.to 函数之前更改 topPos 和 leftPos 值。
而不是这个
//move blue and purple to the second row
if (winsize < 1600) {
if (i === 0) {
$(this.items[i]).css('transform', `translate(${ winsize/2 - 1.5*grow}px, 170px)`)
}
if(i === this.items.length - 1) {
$(this.items[i]).css('transform', `translate(${ -1*(winsize/2 - 1.5*grow)}px, 170px)`)
}
}
}
在TweenMax.to之前更改 topPos 和 leftPos
//move blue and purple to the second row
if (winsize < 1600) {
if(i === 0) {
topPos = topPos + 170;
rightPos = rightPos - (winsize/2 - 1.5*grow);
}
if(i === this.items.length - 1) {
topPos = topPos + 170;
rightPos = rightPos + (winsize/2 - 1.5*grow)
}
}
推荐阅读
- google-app-engine - Flask 不会重定向到 GAE 上带有斜杠的规范 URL
- mongodb - 在mongodb中过滤嵌套数组?
- r - 根据价值大小分配类别
- javascript - JavaScript。无法使用 Object.keys () 迭代对象以获取新对象
- javascript - 何时在项目中添加依赖项与自定义解决方案
- chart.js - 如何为内部甜甜圈添加工具提示
- tensorflow - 使用保存的模型在张量流中进行预测
- mysql - MySQL如何将日期拆分为已知间隔并将其转换为行?
- android - 像轻飘飘的鸟一样流畅的飞行动作-> isFlapping Boolean?
- javascript - 无法将消息从上下文菜单发送到内容脚本