【发布时间】:2015-02-16 18:00:31
【问题描述】:
您好,我正在尝试使用 css3 和 jquery 创建一个完整的页面加载滑块效果。为此,我使用两个 div 来加载页面。我有上一个,关闭和下一个按钮。我对下一个效果有问题。当我单击下一个按钮时,我现在使用 translateX ('100%') 将新页面加载到 div 2 中。然后我将 translateX ('-100%') 添加到 div1(此时在屏幕上 translateX ('0%'))。效果应该是 translateX('-100%') div1,然后是 div2 的 translateX('0%')。全部转换为 1.0 秒。
这是有效的。
但是当我再次单击下一个按钮时,div1 带有 translateX('-100%'),(在左侧,屏幕外),所以我删除了带有 translateX ('-100%') 的类并添加了另一个带有 translateX('100%') 的类,没有过渡。然后我删除这个类并添加另一个带有 translateX('0%') 的类,转换为 1.0s。我删除了 div2 的 translateX ('0%') 类,并添加了另一个带有 translateX ('-100%') 的类以向左移动。但这不起作用。 div1 从屏幕的左侧而不是右侧进入。有什么想法吗?
CSS
.to-next {
transform: translateX(100%);
}
.to-screen {
transform: translateX(0%);
transition-duration: 1.0s;
}
.to-left {
transform: translateX(-100%);
transition-duration: 1.0s;
}
HTML
<div id="ajax-inserted1" class="to-right"></div>
<div id="ajax-inserted2" class="to-right"></div>
JavaScript
$('#ajax-inserted2').removeClass('to-screen').addClass('to-left');
$('#ajax-inserted1').removeClass('to-left').addClass('to-next').removeClass('to-next').addClass('to-screen');
【问题讨论】:
-
我已经尝试过了,但我遇到了同样的问题。它看起来像是从课堂到左到课堂到屏幕。
-
好的,它可以与 setTimeOut 一起使用,但前提是我在 settimeOut 函数中添加了 remove(to-next).add(to-screen)。但是延迟了 1 秒,所以我有将近 1 秒的空白。我该怎么做才能消除延迟。
-
完成!!!!如果我添加 1 毫秒的延迟,它会起作用。
标签: jquery css animation transition effect