你可以使用这个CSS项目:
div.mybox {
width: 50px;
height: 50px;
background-color: red;
-webkit-transition:width 300ms ease-in-out, height 300ms ease-in-out;
-moz-transition:width 300ms ease-in-out, height 300ms ease-in-out;
-o-transition:width 300ms ease-in-out, height 300ms ease-in-out;
transition:width 300ms ease-in-out, height 300ms ease-in-out;
}
然后你就可以使用更新width和height属性的jQuery:
$(document).ready(function() {
$("div.mybox").css({"width": "100px", "height": "70px"});
});
所以,如果浏览器支持它,这将是动画。但是,当然,可以考虑将这些属性放在一个单独的类中,并将该类添加到元素中。你可以像这样使用.addClass()函数。
$(document).ready(function() {
$("div.mybox").addClass("enlarged");
});
或者,例如,你可以用toggleClass功能和click事件(点击时的盒子将被放大,并且将改变为正常大小再次点击时)使用它。
$(document).ready(function() {
$("div.mybox").click(function() {
$(this).toggleClass("enlarged");
});
});
在这种情况下,属性应该在CSS类中定义。
div.mybox.enlarged {
width: 100px;
height: 70px;
}
另外,如果你希望动画在鼠标上发生,那么所有你需要添加的是:
这种
div.mybox:hover {
width: 100px;
height: 70px;
}
动画可以在不使用JS在所有被执行。
此外,你应该阅读约CSS3 transition attribute和转换函数(它们可以在许多情况下使用)。它们被描述为here。
为什么这个人得票低? – 2012-04-13 16:35:58
你可以让一个JSFiddle – 2014-03-09 05:51:11