Javascript 如何同时多次运行函数,将参数传递给具有相同类名的div

Javascript 如何同时多次运行函数,将参数传递给具有相同类名的div,javascript,Javascript,我简化了代码以便于理解。我想同时运行一个传递div ath值的动画函数。当我把它放在循环中时,我什么也做不了。间隔继续,错误消息等 我必须看到这个输出,如果它工作正常 “30,60,90,1.拨=>i:0,val:60,2.拨=>i:0,val:60,3.拨=>i:0,val:90,1.拨=>i:1,val:30,2.拨=>i:1,val:60,3.拨=>i:1,val:90,1.拨=>i:2,val:30,2.拨=>i:2,val:60,…” 我已将视图更改为正确打印:( var resul

我简化了代码以便于理解。我想同时运行一个传递div ath值的动画函数。当我把它放在循环中时,我什么也做不了。间隔继续,错误消息等

我必须看到这个输出,如果它工作正常

“30,60,90,1.拨=>i:0,val:60,2.拨=>i:0,val:60,3.拨=>i:0,val:90,1.拨=>i:1,val:30,2.拨=>i:1,val:60,3.拨=>i:1,val:90,1.拨=>i:2,val:30,2.拨=>i:2,val:60,…”

我已将视图更改为正确打印:(

var result=document.querySelector(“.result”);
var dial=document.querySelectorAll('.dial');
var i=j=x=0;
var-val;
对于(x=0;x.sq');
val=dial[x].querySelector('.itemContainer>span').getAttribute(“per”);
result.innerHTML+=val+“,”;
//myInterval=setInterval(function(){cevir(x);},25);//这是我得到的错误行
}
myInterval=setInterval(函数(){
塞韦(1);
}, 25);
功能cevir(m){
dial=document.querySelectorAll('.dial');
var val=dial[m].querySelector('span').getAttribute(“per”);
result.innerHTML+=“
”+m+”。拨号=>i:“+i+”,val:“+val; if(i
*{
保证金:0;
填充:0;
框大小:边框框;
字体系列:“exo 2”,无衬线;
}
身体{
宽度:100%;
高度:100vh;
显示器:flex;
证明内容:中心;
对齐项目:居中;
背景:线性梯度(45度,#2ecc71,#16a085);
}
.拨号{
位置:相对位置;
宽度:100px;
高度:100px;
显示器:flex;
证明内容:中心;
对齐项目:居中;
利润率:0 10px 0 10px;
}
.itemContainer{
位置:绝对位置;
宽度:100%;
身高:100%;
显示器:flex;
证明内容:中心;
对齐项目:居中;
边界半径:50%;
背景色:#fff;
}
.sq{
位置:绝对位置;
背景色:红色;
宽度:70%;
身高:70%;
不透明度:0;
}
.结果{
位置:绝对位置;
顶部:0px;
左:0px;
填充物:5px;
//背景颜色:银色;
}

有几个错误。请参阅下面固定代码中的注释:

var result=document.querySelector(“.result”);
var dial=document.querySelectorAll('.dial');

var i=j=/*x=*/0;//可以在cevir函数中声明间隔。如果要打印:

  • 拨号=>i:0,val:30
  • 拨号=>i:0,val:60
  • 拨号=>i:0,val:90
  • 拨号=>i:1,val:30
  • 拨号=>i:1,val:60
  • 拨号=>i:1,val:90
  • 您需要在cevir函数内为…循环创建
    ,并将
    i
    变量移动到函数范围:

    const result=document.querySelector(“.result”);
    const dial=document.queryselectoral(“.dial”);
    用于(设x=0;x{
    常数更新=()=>{
    result.innerHTML+=“
    ”+m+”。拨号=>i:“+i+”,val:“+val; 拨号[m]。查询选择器(“.sq”)。style.opacity=i/100; 拨号[m]。查询选择器(“.sq”).style.transform=“旋转(“+i*2+”度)”; } 等待(更新,i*10); }); clearInterval(myInterval); }, 25); } const wait=(fn,t)=>newpromise((resolve)=>setTimeout(()=>{ fn(); 解决() },t));
    *{margin:0;padding:0;框大小:边框框;字体系列:'exo 2',sans serif}正文{宽度:100%;高度:100vh;显示:flex;对齐内容:中心;对齐项目:中心;背景:线性渐变(45度,#2ec71,#16a085)}。拨号{位置:相对;宽度:100px;高度:100px;显示:flex;对齐内容:中心;对齐项目:中心;边距:0 10px 0 10px}.itemContainer{position:absolute;width:100%;height:100%;display:flex;justify content:center;align items:center;边框半径:50%;背景色:#fff}.sq{position:absolute;背景色:红色;宽度:70%;高度:70%;不透明度:0}.result{position position:absolute;top:0;left:0;padding:5px}

    0非常感谢。我不擅长JS。我只是努力了解。我知道我有一个错误,但…:)这将非常有帮助。再次…我注意到一个问题。还有我的价值是不是进步得不恰当?İt对于所有函数都必须是唯一的?这不会造成任何更改。。。无论如何,我不想再打扰你了。非常感谢你的好意。很抱歉,我开始编写你的代码,但我不知道有人回答你解决了这个问题吗?是的,我更新了我的答案,看到有问题了。i值持续增加。对于每个“拨号”,必须添加1。