Вы можете использовать этот 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;
}
Затем вы можете обновить свойства ширины и высоты с помощью JQuery:
$(document).ready(function() {
$("div.mybox").css({"width": "100px", "height": "70px"});
});
Таким образом, если браузер поддерживает, это будет анимировано. Но, конечно, рассмотрим возможность размещения этих свойств в отдельный класс и добавление этого класса к элементу. Вы можете использовать функцию .addClass(), как это.
$(document).ready(function() {
$("div.mybox").addClass("enlarged");
});
Или, например, вы можете использовать его с функцией toggleClass и событие щелчка (поле будет увеличено при нажатии, и будет меняться к нормальному размеру, когда снова нажмите).
$(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.
Почему этот человек спустился? –
Можете ли вы сделать JSFiddle –