【发布时间】:2012-03-20 09:31:30
【问题描述】:
冒险进入随机排序的世界,但在组合某些功能以尽可能高效时遇到了麻烦。 一切正常,但我觉得我正在以一种新手的方式进行操作,因为我使用我在 Stack Overflow 上找到的两个函数构建了它,我对其进行了修改,然后将它们组合在一起。 p>
我希望您能提出任何可以简化代码以提高效率并消除冗余的方法。
这个函数需要 10 个 div,将它们重新排列成随机顺序,然后以随机顺序一个接一个地将该随机顺序淡入页面。效果很整齐,看这里:http://jsfiddle.net/danielredwood/MgFj2/
非常感谢您的帮助!
__ 页面初始化函数
$(document).ready(function(){
shuffle();
});
__ 为淡入淡出顺序创建数组
function introfade(x) {
var o = [];
for (var i = 0; i < x; i++) {
var n = Math.floor(Math.random()*x);
if ( $.inArray(n, o) > 0 ) {
--i;
} else {
o.push(n);
}
}
return o;
}
__重新排列 div 并将它们淡入
function shuffle() {
var b = $('.box'),
arrange = $('<div>'),
size = b.size(),
fade = introfade(size);
while (size >= 1) {
var rand = Math.floor(Math.random() * size),
temp = b.get(rand);
arrange.append(temp);
b = b.not(temp);
size--;
}
$('.main').html(arrange.html());
$('.box').each(function(i) {
var c = $(this);
setTimeout(function() {
c.fadeTo(500, 1);
}, fade[i]*150);
});
}
【问题讨论】:
-
+1 用于将“弗兰肯斯坦”用作动词。
-
+1 表示“一切正常,但是”
-
我知道这与您的问题或解决方案无关,但您应该将一些变量重命名为有意义的名称和/或添加一些 cmets,以便未来的开发人员必须维护/扩展它。
-
很好,很抱歉。注意!
标签: javascript jquery css random fade