Javascript 只给id赋值一次
我有一个困扰我一段时间的问题 我有14个div,每个div必须在每次加载页面时分配一个随机ID(介于1和14之间)。 每个div都有“.image box”类,我试图分配的ID格式是“box14” 我有JS代码来分配随机ID,但我很难获得相同的ID来分配两次 JavaScriptJavascript 只给id赋值一次,javascript,jquery,random,Javascript,Jquery,Random,我有一个困扰我一段时间的问题 我有14个div,每个div必须在每次加载页面时分配一个随机ID(介于1和14之间)。 每个div都有“.image box”类,我试图分配的ID格式是“box14” 我有JS代码来分配随机ID,但我很难获得相同的ID来分配两次 JavaScript var used_id = new Array(); $( document ).ready(function() { assign_id(); function assig
var used_id = new Array();
$( document ).ready(function() {
assign_id();
function assign_id()
{
$('.image-box').each(function (i, obj) {
random_number();
function random_number(){
number = 2 + Math.floor(Math.random() * 14);
var box_id = 'box' + number;
if((box_id.indexOf(used_id) !== -1) === -1)
{
$(this).attr('id',box_id);
used_id.push(box_id);
}
else
{
random_number();
}
}
});
}
});
谢谢你的帮助
干杯我建议为用户id设置一个类似于u的全局数组,并将分配的div id推送到数组中。然后,您可以在将随机id分配给div之前进行检查。如果分配了随机id,请使用不同的id 希望这有帮助
干杯。我建议为用户id设置一个全局数组,并将分配的div id推送到数组中。然后,您可以在将随机id分配给div之前进行检查。如果分配了随机id,请使用不同的id 希望这有帮助 干杯。嗯 在分配ID时,只需使用增量更新的计数器,而不是使用随机生成的数字(根据您的经验,可能会随机重复值)
function assign_id() {
var counter = 0;
$('.image-box').each(function (i, obj) {
$(this).attr('id','image-box-' + counter++); }
});
}
嗯
在分配ID时,只需使用增量更新的计数器,而不是使用随机生成的数字(根据您的经验,可能会随机重复值)
function assign_id() {
var counter = 0;
$('.image-box').each(function (i, obj) {
$(this).attr('id','image-box-' + counter++); }
});
}
我想这就是你想要的
$(文档).ready(函数(){
分配_id();
});
函数赋值_id(){
var numberOfDiv=$('.image-box').length;
var listOfRandomNumber=myFunction(numberOfDiv);
$('.image box')。每个(函数(i,obj){
$(this.attr(“id”,listOfRandomNumber[i]);
});
};
//获取编号的列表包含1到
//14在这种情况下。
函数myFunction(numberOfDiv){
对于(var i=1,ar=[];i
我想这就是你想要的
$(文档).ready(函数(){
分配_id();
});
函数赋值_id(){
var numberOfDiv=$('.image-box').length;
var listOfRandomNumber=myFunction(numberOfDiv);
$('.image box')。每个(函数(i,obj){
$(this.attr(“id”,listOfRandomNumber[i]);
});
};
//获取编号的列表包含1到
//14在这种情况下。
函数myFunction(numberOfDiv){
对于(var i=1,ar=[];i
如果您只想指定唯一的值,最好使用增量值(或类似于(new Date).getTime())的值。但是,如果出于某种原因,您必须随机选择值(仅从1-14中),则使用类似的方法来选择唯一/随机值
var arrayId = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
function getRandomId(array) {
var randomIndex = Math.floor(Math.random() * (array.length));
var randomId = array.splice(randomIndex, 1);
return randomId[0];
}
现在
getRandomId(arrayId)
将从数组中返回一个随机选取的值,然后删除该值,这样就不会重复该值。如果您只想指定唯一的值,最好使用增量值(或类似于(new Date).getTime()。但是,如果出于某种原因,您必须随机选择值(仅从1-14中),则使用类似的方法来选择唯一/随机值
var arrayId = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];
function getRandomId(array) {
var randomIndex = Math.floor(Math.random() * (array.length));
var randomId = array.splice(randomIndex, 1);
return randomId[0];
}
现在
getRandomId(arrayId)
将从数组中返回一个随机选取的值,然后删除该值,这样就不会重复该值。首先介绍如何使用我的实现:
var takeOne = makeDiminishingChoice(14);
在这种情况下,takeOne
是一个函数,您最多可以调用14次,以获得1到14之间的唯一随机数
例如,这将以随机顺序输出介于1和14之间的数字:
for (var i = 0; i < 14; i++) {
console.log(takeOne());
}
首先,您将如何使用我的实现:
var takeOne = makeDiminishingChoice(14);
在这种情况下,takeOne
是一个函数,您最多可以调用14次,以获得1到14之间的唯一随机数
例如,这将以随机顺序输出介于1和14之间的数字:
for (var i = 0; i < 14; i++) {
console.log(takeOne());
}
它必须是随机的吗?
assign_id()
assign一个递增的值吗?为什么要这样分配id?它必须是随机的吗?assign_id()
可以分配递增的值吗?为什么要这样分配id