tej można użyć 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;
}
Następnie można zaktualizować właściwości width i height użyciu jQuery:
$(document).ready(function() {
$("div.mybox").css({"width": "100px", "height": "70px"});
});
Tak więc, jeśli przeglądarka go obsługuje, będzie animowana. Ale oczywiście rozważ umieszczenie tych właściwości w oddzielnej klasie i dodanie tej klasy do elementu. Możesz użyć funkcji .addClass(), w ten sposób.
$(document).ready(function() {
$("div.mybox").addClass("enlarged");
});
Albo, na przykład, można go używać z funkcją toggleClass i zdarzenia click (skrzynka zostanie powiększona po kliknięciu, i przejdzie do normalnego rozmiaru, gdy ponownie kliknij).
$(document).ready(function() {
$("div.mybox").click(function() {
$(this).toggleClass("enlarged");
});
});
W tym przypadku właściwości należy zdefiniować w klasie CSS.
div.mybox.enlarged {
width: 100px;
height: 70px;
}
Ponadto, jeśli chcesz animacja wydarzy na myszy nad, to wszystko trzeba dodać to:
div.mybox:hover {
width: 100px;
height: 70px;
}
Animacje tego rodzaju mogą być wykonywane bez użycia JS w ogóle.
Należy również przeczytać o CSS3 transition attribute i funkcjach przekształcania (mogą one być użyteczne w wielu przypadkach). Są one opisane here.
dlaczego ten został poddany głosowaniu w dół? –
Czy można utworzyć JSFiddle –