我做了一个小提琴:
我试图让代码达到一个点,它永远不会一次显示相同的两个项目,或者当一个项目被单击时,它永远不会从数组中拉回同一个项目,只是似乎有点挣扎逻辑和 indexOf 方法的行为很奇怪。
var justAdded = [];
justAdded['first'] = 0;
justAdded['second'] = 1;
newHtml = returnRandom().split('|');
justAdded[e.id] = parseInt(newHtml[0], 10);
if(justAdded.indexOf(parseInt(newHtml[0], 10)) == -1){
e.style.opacity = 0;
e.innerHTML = newHtml[1];
e.style.opacity = 1;
e.setAttribute('data-id', newHtml[0]);
} else {
uniq(clickedEl);
}
var returnRandom = function(){
return options[Math.floor(Math.random() * options.length)]
};
e.id 将等于“第一”或“第二”。returnRandom() 将从选项数组中获取一个随机值:
var options = [
'0|Flash',
'1|Internet Explorer',
'2|Java',
'3|!important'
];