我可以将按钮移动到左侧,但之后我如何再次将其移动到右侧。我也可以在这里使用延迟吗?
这是我尝试过的代码:
$(document).ready(function () {
example_animate(10);
});
function example_animate(px) {
$('#Button1').animate({
'marginLeft': px
});
}
我可以将按钮移动到左侧,但之后我如何再次将其移动到右侧。我也可以在这里使用延迟吗?
这是我尝试过的代码:
$(document).ready(function () {
example_animate(10);
});
function example_animate(px) {
$('#Button1').animate({
'marginLeft': px
});
}
你可以使用它,它对我来说很完美,它会不断地来回移动你的元素,你也可以改变动画速度。
function animatethis(targetElement, speed) {
$(targetElement).animate({ marginLeft: "+=10px" },
{
duration: speed,
complete: function () {
targetElement.animate({ marginLeft: "-=10px" },
{
duration: speed,
complete: function () {
animatethis(targetElement, speed);
}
});
}
)};
}
使用它来实现:
animatethis($('#controlid'), 1500);
如果不查看您的 HTML 和 CSS,则无法正确回答,但您所做的是正确的。只需使用负值调用您的 example_animate()
IE
example_animate(-10);
或者,如果您想将其恢复到原始值(假设最初它的边距为 0)
example_animate(0);
注意:这可能不是制作动画的最佳方式
是的,animate函数采用一个在动画完成后调用的函数。所以你可以这样做:
$(document).ready(function () {
example_animate(100);
});
function example_animate(px) {
$('#Button1').animate({
'marginLeft': px
}, function(){
$('#Button1').animate({
'marginLeft': 1
});
});
}
只在右边做同样的事情,如果你能让它向左走,那并不难。
也许
var button_init_marginLeft;
$(document).ready(function () {
button_init_marginLeft = $('#Button1').css("marginLeft");
example_animate(10, true);
example_animate(null, false);
});
function example_animate(px, to_left) {
if (to_left)
{
$('#Button1').animate({
'marginLeft': px
});
}
else
{
$('#Button1').animate({
'marginLeft': button_init_marginLeft
});
}
}
?