Puede utilizar este 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;
}
A continuación, puede actualizar las propiedades de anchura y altura usando jQuery:
$(document).ready(function() {
$("div.mybox").css({"width": "100px", "height": "70px"});
});
Por lo tanto, si el navegador lo admite, se lo animará. Pero, por supuesto, considere poner estas propiedades en una clase separada y agregar esta clase al elemento. Puede usar la función .addClass(), así.
$(document).ready(function() {
$("div.mybox").addClass("enlarged");
});
O, por ejemplo, se puede usar con la función toggleClass y el evento click (la caja se ampliará cuando se hace clic, y va a cambiar con el tamaño normal cuando vuelva a hacer clic).
$(document).ready(function() {
$("div.mybox").click(function() {
$(this).toggleClass("enlarged");
});
});
En este caso, las propiedades se deben definir en la clase CSS.
div.mybox.enlarged {
width: 100px;
height: 70px;
}
Además, si se desea que la animación que suceda el ratón por encima, entonces todo lo que hay que añadir es la siguiente:
div.mybox:hover {
width: 100px;
height: 70px;
}
animaciones de este tipo puede llevarse a cabo sin el uso de JS en absoluto.
Además, debería leer acerca de CSS3 transition attribute y las funciones de transformación (pueden usarse en muchos casos). Se describen here.
¿por qué se votó negativamente? –
Puede hacer un JSFiddle –