我想做一个函数,除了当前点击的数组。 意味着我有这样的事情:
cubesmixed = [array, with, 145, elements]
cubesmixed[54].click(function() {
for(var i = 0; i < 145; i++) {
var randomnumber=Math.floor(Math.random()*500000);
cubesmixed[i].animate({ x: randomnumber, y: randomnumber }, randomnumber, "bounce");
}
我不希望cubesmixed[54]
动画。怎么说呢
cubesmixed[i] except 54
提前感谢!
答案 0 :(得分:1)
试试这个:
cubesmixed = [array, with, 145, elements]
cubesmixed[54].click(function() {
for(var i = 0; i < 145; i++) {
var randomnumber=Math.floor(Math.random()*500000);
if(i!=54)){
cubesmixed[i].animate({ x: randomnumber, y: randomnumber }, randomnumber, "bounce");
}
}
答案 1 :(得分:0)
这不是我的头脑,所以对不准确的事道道歉:
var cubesmixed = $("elementsYouCanClick");
cubesmixed.each(function(idx, element){
element.click(function() {
for(var i = 0; i < 145; i++) {
if (i === idx) {
continue;
}
var randomnumber = Math.floor(Math.random()*500000);
cubesmixed[i].animate({ x: randomnumber, y: randomnumber }, randomnumber, "bounce");
}
}
})
不完全确定,但关键的想法是使用$.each()
函数迭代元素,这使您可以使用idx
。
答案 2 :(得分:-1)
也许这可以解决问题......
cubesmixed = [array, with, 145, elements]
cubesmixed[54].click(function() {
for(var i = 0; i < 145; i++) {
if(cubesmixed[i] == $(this)) continue;
var randomnumber=Math.floor(Math.random()*500000);
cubesmixed[i].animate({ x: randomnumber, y: randomnumber }, randomnumber, "bounce");
}
}
修改强>
将行if(cubesmixed[i] == $(this)) continue;
归为
if(i == cubesmixed.indexOf($(this))) continue;