Javascript函数在将结果返回到类时覆盖所有结果
我已经创建了一个javascript函数,将一个包含72个条目的json文件中的6个结果随机化,并试图将它们返回到一个类中。然而,它只返回一个结果。我想知道是否有人能帮我把字符串返回给一个类?或者一个接一个地显示结果 这是我的javascriptJavascript函数在将结果返回到类时覆盖所有结果,javascript,html,Javascript,Html,我已经创建了一个javascript函数,将一个包含72个条目的json文件中的6个结果随机化,并试图将它们返回到一个类中。然而,它只返回一个结果。我想知道是否有人能帮我把字符串返回给一个类?或者一个接一个地显示结果 这是我的javascript <script> function getitems() { var arr = []; for (var i = 0, l = 6; i < l; i++) { arr.push(Ma
<script>
function getitems() {
var arr = [];
for (var i = 0, l = 6; i < l; i++) {
arr.push(Math.floor((Math.random()*72)+1))
}
$.getJSON('items.json',function(data) {
for ( var i = 0; i < 6; i++ ) {
var items = data.result.items[arr[i]].item.toString();
$('.item-name').html(items);
}
}).error(function(){
});
}
$('#refreshItem').click(function() {
getitems();
});
</script>
函数getitems(){
var-arr=[];
对于(变量i=0,l=6;i
这段代码只是将一个项目接一个项目填充到同一组HTML元素中,代码行为$('.item name').HTML(items)代码>:
注意,这并不能保证六个随机结果中的每一个都是不同的。您可能会重复相同的结果。我也不确定为什么要将1
添加到随机结果中,因为我假设data.result.items是一个基于零的数组,所以您也希望包含0
索引
如果您还想确保每个随机结果都是唯一的,您可以这样做:
function getitems() {
var arr = [];
for (var i = 0; i < 6; i++) {
arr.push(Math.floor((Math.random()*72)+1));
}
$.getJSON('items.json',function(data) {
var items = $('.item-name');
for ( var i = 0; i < 6; i++ ) {
var result = data.result.items[arr[i]].item.toString();
items.eq(i).html(result);
}
}).error(function(){
});
}
function getitems() {
var arr = [], used = {}, val;
for (var i = 0; i < 6; i++) {
do {
val = Math.floor((Math.random()*72)+1);
} while (!(val in used));
used[val] = true;
arr.push(val);
}
$.getJSON('items.json',function(data) {
var items = $('.item-name');
for ( var i = 0; i < 6; i++ ) {
var result = data.result.items[arr[i]].item.toString();
items.eq(i).html(result);
}
}).error(function(){
});
}
函数getitems(){
var arr=[],used={},val;
对于(变量i=0;i<6;i++){
做{
val=数学楼层((数学随机()*72)+1);
}而(!(使用val));
已用[val]=真;
arr.push(val);
}
$.getJSON('items.json',函数(数据){
变量项=$('.item name');
对于(变量i=0;i<6;i++){
var result=data.result.items[arr[i].item.toString();
items.eq(i).html(结果);
}
}).错误(函数(){
});
}
使用
代替:
$('.item-name').html(items);
非常感谢:)非常有用。@user2933987-您是否理解在StackOverflow上,您应该向社区指出哪些答案是有用的?这既奖励提供有用答案的人(加上分数),也奖励你遵循正确的程序。奖励有用答案的两种方式是:选择最有用的答案并选中答案左侧的复选标记,然后单击答案左侧的向上箭头向上投票。投票表决任何其他有用的答案。您将始终能够选择复选标记。升级投票可能需要您先获得一些声誉点数。然后我如何获得它,以便在按钮上单击它以新结果替换类,而不是不断添加?在按钮上单击下面的添加代码:$('.item name').empty();后跟添加新结果的代码:$('.item name').html(items);
$('.item-name').append(items);
$('.item-name').html(items);