【发布时间】:2013-01-16 17:58:44
【问题描述】:
我对 CSS/HTML/JS 很陌生,所以我对 CSS 过渡没有太多经验。
我正在尝试为页面上的 div 元素设置动画,但目前无法达到预期的效果。
这是我的问题:
在我的 HTML 中,我有一个 div 容器元素,其中包含 5 个 div 元素。它们看起来像位于屏幕中间的简单框,目前不可见。我在屏幕一角也有 5 个按钮。
我想做的是:
当我单击一个按钮(例如按钮 3)时,左侧的 3 个 div 应该消失并移到屏幕边缘后面的左侧,并且 2 个 div 应该这样做,但向右移动.之后,我希望右侧的 3 个 div 滑回屏幕,右侧的 2 个 div 也应该滑回。所以看起来他们彼此滑动到他们最初开始的位置。
我正在尝试使用 CSS 转换(转换: translateX(Npx);) 来实现此效果。所以在我的 JS 文件中我有这样的东西:
$(document).ready(function() {
$(".button").click(function(){
// PART 1
// move 3 divs to the left using transform: translateX(Npx) (no animation)
// move 2 divs to the left using transform: translateX(Npx) (no animation)
// PART 2
// slide 3 divs to the left using transform: translateX(Npx) (with animation)
// slide 2 divs to the left using transform: translateX(Npx) (with animation)
});
所以问题是在这种情况下只有第一部分有效,第二部分似乎无效.....如果我将代码部分附加到不同的事件......就像另一个点击按钮...它工作得很好。
所以我的问题是这两个转换是否可以在一个事件下完成?!?!
【问题讨论】:
-
在我看来,您将 CSS 过渡与 JavaScript 动画混淆了。如果您可以使用一些示例代码创建一个 jsfiddle 来说明您的问题,那将非常有用。
-
尝试使用css animation 制作复杂的动画。
-
致 Jason:这是 codepen 上的类似示例codepen.io/EugeneGordin/pen/oFiyt
标签: javascript jquery html css