如何使用jquery动画功能设置多个css

如何使用jquery动画功能设置多个css,jquery,css,Jquery,Css,假设我有类似的css position: fixed; width: 200px; height: 100px; top: 50%; left: 50%; margin-left: -100px; margin-top: -50px; 这个css我需要从jquery动画函数中为div设置。有可能吗。 我知道jquery动画函数的用法,比如 $(".ui-dialog").animate({ left: viewportwidth / 2 - $(".ui-dialog").outerWidth

假设我有类似的css

position: fixed;
width: 200px;
height: 100px;
top: 50%;
left: 50%;
margin-left: -100px;
margin-top: -50px;
这个css我需要从jquery动画函数中为div设置。有可能吗。 我知道jquery动画函数的用法,比如

$(".ui-dialog").animate({
left: viewportwidth / 2 - $(".ui-dialog").outerWidth() / 2, 
top: viewportheight / 2 - $(".ui-dialog").outerHeight / 2
}, 1000);

谢谢

将CSS创建为一个类:

div.myClass {

    position: fixed;
    width: 200px;
    height: 100px;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -50px;

}

div.newClass {

    position: fixed;
    width: 500px;
    height: 500px;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -50px;

}
然后使用jQuery
addClass()

这假设您的DIV的ID为myDiv,如下所示:

<div id="myDiv"></div>

如果需要从当前类设置动画到另一个类,可以使用以下函数:

这是一个将绑定上的类更改为按钮的示例

<script>
$(function() {
    $( "#button" ).click(function(){
        $( "div#myDiv" ).switchClass( "myClass", "newClass", 1000 );
    return false;   
    });
});
</script>

$(函数(){
$(“#按钮”)。单击(函数(){
$(“div#myDiv”).switchClass(“myClass”,“newClass”,1000);
返回false;
});
});

将CSS创建为类:

div.myClass {

    position: fixed;
    width: 200px;
    height: 100px;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -50px;

}

div.newClass {

    position: fixed;
    width: 500px;
    height: 500px;
    top: 50%;
    left: 50%;
    margin-left: -100px;
    margin-top: -50px;

}
然后使用jQuery
addClass()

这假设您的DIV的ID为myDiv,如下所示:

<div id="myDiv"></div>

如果需要从当前类设置动画到另一个类,可以使用以下函数:

这是一个将绑定上的类更改为按钮的示例

<script>
$(function() {
    $( "#button" ).click(function(){
        $( "div#myDiv" ).switchClass( "myClass", "newClass", 1000 );
    return false;   
    });
});
</script>

$(函数(){
$(“#按钮”)。单击(函数(){
$(“div#myDiv”).switchClass(“myClass”,“newClass”,1000);
返回false;
});
});

您的代码按原样与我一起工作:)

但如果您将“viewportwidth”和“viewportheight”与“px”或“em”或其他任何东西一起使用,请使用“.parseInt()”来消除单位:)

我的代码是:

var viewportwidth = 120;
var viewportheight = 120;
$(".ui-dialog").animate({
left: viewportwidth / 2 - $(".ui-dialog").outerWidth() / 2 +"px", 
top: viewportheight / 2 - $(".ui-dialog").outerHeight() / 2 +"px"
}, 1000);

});

顺便说一句,我看到你错过了“outerHeight”后面的括号,以及FF中使用和不使用
+“px”的代码,我希望我能正确理解你的意思。

你的代码按原样使用我:)

但如果您将“viewportwidth”和“viewportheight”与“px”或“em”或其他任何东西一起使用,请使用“.parseInt()”来消除单位:)

我的代码是:

var viewportwidth = 120;
var viewportheight = 120;
$(".ui-dialog").animate({
left: viewportwidth / 2 - $(".ui-dialog").outerWidth() / 2 +"px", 
top: viewportheight / 2 - $(".ui-dialog").outerHeight() / 2 +"px"
}, 1000);

});

顺便说一句,我看到你错过了“outerHeight”后面的括号,以及FF中使用和不使用
+“px”
的代码,我希望我能正确理解你的意思。

是的,这是可能的,但要注意两件事:

  • 无法设置
    位置:固定的动画。(引自):

    大多数非数字属性无法使用basic设置动画 jQuery功能(例如,宽度、高度或左侧可以是 已设置动画,但无法设置背景色

    使用类来处理这个问题

  • 使用
    marginTop
    marginLeft
    代替
    marginTop
    左边距
    (引自):

    尝试使用“marginTop”而不是“marginTop”。通常在使用 CSS道具作为“边框某物”或“边距某物”更好 使用它的“规范化”版本,就像在DHTML中一样 (styles.marginTop)


  • 希望有帮助。

    是的,这是可能的,但要注意两件事:

  • 无法设置
    位置的动画:已修复
    (引用自):

    大多数非数字属性无法使用basic设置动画 jQuery功能(例如,宽度、高度或左侧可以是 已设置动画,但无法设置背景色

    使用类来处理这个问题

  • 使用
    marginTop
    marginLeft
    代替
    marginTop
    左边距
    (引自):

    尝试使用“marginTop”而不是“marginTop”。通常在使用 CSS道具作为“边框某物”或“边距某物”更好 使用它的“规范化”版本,就像在DHTML中一样 (styles.marginTop)


  • 希望有帮助。

    你想设置什么动画?例如,
    位置:固定的
    不能设置动画。你想设置什么动画?例如,
    位置:固定的
    不能设置动画。@RobW好吧,那很好,也许他们以后会解决这个问题,当我学习JQuery时,我看到了我必须使用parseInt()解决这个问题的教程:)所以我在这里说:)@RobW好吧,那很好,也许他们以后会解决它,当我学习JQuery时,我看到了教程,我必须使用parseInt()解决它:),所以我在这里说:)