我想創建一個連續的動畫效果,使用JQuery .animate()
與從數組創建的方向。這是我做過什麼成功至今:JQuery .animate()與從對象數組創建的方向,但
var animation = [{"top":80},{"left":130},{"top":200},{"left":0},{"top":0}];
$.each(animation, function(i) {
$('div').animate(animation[i], 1000);
});
但後來,我想了數組保存每個元素的屬性是這樣的:
<div data-animation='[{"top":80},{"left":130},{"top":200},{"left":0},{"top":0}]'></div>
<div data-animation='[{"top":50},{"left":-30},{"top":100},{"left":80},{"top":75}]'></div>
<div data-animation='[{"top":10},{"left":-30},{"top":100}]'></div>
...所以我希望我可以動畫不同方向的多個元素。但我不知道如何將屬性值轉換爲對象的數組(我希望我能做到這一點無需插件):
$('div').each(function() {
var animation = $(this).data('animation'), // How to convert this into an array?
$animatedbox = $(this);
$.each(animation, function(i) {
$animatedbox.animate(animation[i], 1000);
});
});
這裏有一個演示:http://jsfiddle.net/wthLR/
我沒有看到你的問題。我改變了你的小提琴,它的工作。 [JSFiddle](http://jsfiddle.net/wthLR/10/) –
奇怪。考慮到屬性的值是一個字符串而不是數組,它以前不起作用。但是謝謝@Felipe Fonseca。 –