Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将函数应用于多个元素?_Javascript - Fatal编程技术网

Javascript 如何将函数应用于多个元素?

Javascript 如何将函数应用于多个元素?,javascript,Javascript,我正在努力将我的函数应用于多个元素。 我想做的是让每个元素单独改变 只有第一个元素在变化。我正在尝试将其应用于这三个方面,它们都应该分别进行更改 例如: 不可用 可用 可用 var myVar=setInterval(细分,2000年); 功能分解(){ var d=Math.random(); 如果(d

我正在努力将我的函数应用于多个元素。 我想做的是让每个元素单独改变

只有第一个元素在变化。我正在尝试将其应用于这三个方面,它们都应该分别进行更改

例如:

不可用

可用

可用

var myVar=setInterval(细分,2000年);
功能分解(){
var d=Math.random();
如果(d<0.90){
str=“可用”;
text=str.fontcolor(“绿色”);
x=真;
}否则{
str=“不可用”;
text=str.fontcolor(“红色”);
y=假;
}
var elems=Array.from(document.querySelectorAll('.demo');
for(元素中的常量元素1){
elems1.innerHTML=文本;
打破
}
}

您的“break”语句导致循环在仅迭代第一个元素后结束

另外,如果您想让每个元素独立更新,那么您需要创建一个函数来生成文本,然后分别对每个元素调用它,如下面的示例所示

var myVar = setInterval(breakdown, 1000);

function breakdown(){
    var demos = document.querySelectorAll('.demo');
  Array.from(demos).forEach(x => {
    x.innerHTML = getText();
  })
}

function getText(){
    var rand = Math.random();
  if (rand > .9) {
    return "Available";
  } else {
    return "Not Available"
  }
}
下面是一段代码: 从这里,您应该能够为文本着色或进行任何修改。

您的“break”语句只在第一个元素上迭代之后,就导致循环结束

另外,如果您想让每个元素独立更新,那么您需要创建一个函数来生成文本,然后分别对每个元素调用它,如下面的示例所示

var myVar = setInterval(breakdown, 1000);

function breakdown(){
    var demos = document.querySelectorAll('.demo');
  Array.from(demos).forEach(x => {
    x.innerHTML = getText();
  })
}

function getText(){
    var rand = Math.random();
  if (rand > .9) {
    return "Available";
  } else {
    return "Not Available"
  }
}
下面是一段代码:
因此,您应该能够为文本着色或进行任何修改。

只需在for循环中移动随机数的生成,并删除break语句(为了更好地评估,我将0.9减为0.5)

var myVar=setInterval(细分,2000年);
功能分解(){
让elems=Array.from(document.querySelectorAll('.demo');
for(元素中的常量元素1){
设d=Math.random();
如果(d<0.50){
让str=“可用”;
text=str.fontcolor(“绿色”);
x=真;
}否则{
let str=“不可用”;
text=str.fontcolor(“红色”);
y=假;
}
elems1.innerHTML=文本;
}
}


只需移动for循环中随机数的生成并删除break语句(为了更好地评估,我将0.9减为0.5)

var myVar=setInterval(细分,2000年);
功能分解(){
让elems=Array.from(document.querySelectorAll('.demo');
for(元素中的常量元素1){
设d=Math.random();
如果(d<0.50){
让str=“可用”;
text=str.fontcolor(“绿色”);
x=真;
}否则{
let str=“不可用”;
text=str.fontcolor(“红色”);
y=假;
}
elems1.innerHTML=文本;
}
}


循环中的
中断将使其在所有元素上循环之前退出。我移动了函数顶部的循环以查看您的注释(“可用”、“不可用”、“不可用”)。调用
数组。不需要从
调用该数组

我建议使用其他循环函数,如
forEach

var myVar=setInterval(细分,2000年);
功能分解(){
var elems=document.querySelectorAll('.demo');
for(元素常量){
var d=Math.random();
如果(d<0.90){
str=“可用”;
text=str.fontcolor(“绿色”);
x=真;
}否则{
str=“不可用”;
text=str.fontcolor(“红色”);
y=假;
}
elem.innerHTML=文本;
}
}


循环中的
中断将使其在所有元素上循环之前退出。我移动了函数顶部的循环以查看您的注释(“可用”、“不可用”、“不可用”)。调用
数组。不需要从
调用该数组

我建议使用其他循环函数,如
forEach

var myVar=setInterval(细分,2000年);
功能分解(){
var elems=document.querySelectorAll('.demo');
for(元素常量){
var d=Math.random();
如果(d<0.90){
str=“可用”;
text=str.fontcolor(“绿色”);
x=真;
}否则{
str=“不可用”;
text=str.fontcolor(“红色”);
y=假;
}
elem.innerHTML=文本;
}
}


是否尝试对所有元素使用相同的随机值,还是必须更改?如果要独立更改元素,则需要为每个html元素生成单独的随机数。同时删除循环
中的
break
语句,这会在第一次迭代后停止循环的执行。如果您试图对所有元素使用相同的随机值,或者它必须更改?如果您希望独立地更改元素,则需要为每个html元素生成一个单独的随机数。同时删除循环
中的
break
语句,在第一次迭代后停止循环的执行这是一个非常棒的问题,因为它包含了华而不实的代码片段:D我们应该问更多这样的问题这是一个非常棒的问题,因为它包含了华而不实的代码片段:D我们应该问更多这样的问题