你正如你所提到的,不應該直接將jQuery用於更苛刻的動畫。我會一起取消jQuery或爲其獲取css3動畫插件。使用香草JavaScript中,這是一個如何進行動畫處理圖像的真正簡化的例子:
假設你有兩張圖片:
<img src="http://henrybuiltfurniture.com/new/images/6_5.jpg" class='bigimg img-1'>
<img src="http://henrybuiltfurniture.com/new/images/6_4.jpg" class='bigimg img-2'>
而且有些款式把他們在正確的地方:
.bigimg {
position: absolute;
width: 1920px;
height: 1080px;
transition: transform 2s;
}
.img-1 {
left: 0;
}
.img-2 {
left: 1920px;
}
然後,你可以很容易地通過只是改變了bigimg的動畫變換:
var bigImages = document.querySelectorAll('.bigimg');
for(var i = 0; i < bigImages.length; i++) {
var image = bigImages[i];
image.style.transform = 'translateX(-1920px)';
}
防爆充足的JSFiddle
保羅愛爾蘭有great article經歷爲什麼它是更好的動畫transform
,而不是position: absolute
與left
和top
屬性,如果您想一些進一步的閱讀。
您應該也可以使用供應商前綴版本的transition屬性。 – gregdev 2014-09-03 22:32:49
所有的現代瀏覽器都支持轉換,但是爲了防止舊的瀏覽器,他可以添加-webkit-transition(一切正常,所以根本不需要) – Devin 2014-09-03 22:36:48