使用r.set()
我創建了一個集合,它擁有我想要動畫的所有對象。拉斐爾對象的隨機順序顯示
var r = Raphael("holder", '100%', '100%'),
targets = r.set(),
size = 30,
offset = 10;
for (var i = 0, j = 0; j < 10; i += size, j++) {
targets.push(r.rect(i, 10, size, size));
i += offset;
}
我想顯示使用簡單的動畫以隨機順序所有對象:
function animate() {
targets[index].animate({
fill: "#cde",
opacity: 1
}, 1000, 'linear');
index++;
if (index < targets.length) setTimeout(animate, 1000);
}
animate();
上面的代碼顯示的所有元素,但一個個井然有序。
Raphael.st.sort = function (callback) {
var cb = callback || function (a, b) {
if (a.id < b.id) {
return -1;
} else if (a.id > b.id) {
return 1;
} else {
return 0;
}
};
Array.prototype.sort(this, cb);
this.items.sort(cb);
return this;
};
function shuffle(a, b) {
return Math.random() > 0.5 ? -1 : 1;
};
,但沒有任何運氣:
我一直在使用插件試圖隨機排序。
我的問題是如何隨機排列我想要顯示的元素的集合?
這裏是我的jsfiddle:http://jsfiddle.net/Misiu/UDmym/
我想通過隨機順序說的是,現在元素從左到右顯示。我想隨機給他們看。請看我更新的小提琴,我刪除了隨機動畫的時間。 – Misiu