Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.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 通过类名和JS数组更改背景_Javascript - Fatal编程技术网

Javascript 通过类名和JS数组更改背景

Javascript 通过类名和JS数组更改背景,javascript,Javascript,我试图让它在需要的地方工作:删除当前类(当前数组值)并添加下一个类(下一个数组值) 本质上,就是这样 var myFunction= function (step) { if (lastEntered === step) { triggerEvent(step, "impress:stepleave"); lastEntered = null; // Adding in an array of gradients var

我试图让它在需要的地方工作:删除当前类(当前数组值)并添加下一个类(下一个数组值)

本质上,就是这样

    var myFunction= function (step) {
        if (lastEntered === step) {
            triggerEvent(step, "impress:stepleave");
            lastEntered = null;
 // Adding in an array of gradients 
var i;
var bg = new Aray();
bg[0] = "gradient-0";       
bg[1] = "gradient-1";       
bg[2] = "gradient-2";               
bg[3] = "gradient-3";       
bg[4] = "gradient-4";       
bg[5] = "gradient-5";                   
bg[6] = "gradient-6";       
bg[7] = "gradient-7";       
bg[8] = "gradient-8";                   

            for (i=0;i<bg.length;i++)
            {
            body.classList.add(bg[i]);
            }
        }
    };
var myFunction=函数(步骤){
如果(lastEntered==步骤){
triggerEvent(步骤,“印象:步骤离开”);
lastEntered=null;
//添加渐变数组
var i;
var bg=new Aray();
bg[0]=“梯度-0”;
bg[1]=“梯度-1”;
bg[2]=“梯度-2”;
bg[3]=“梯度-3”;
bg[4]=“梯度-4”;
bg[5]=“梯度-5”;
bg[6]=“梯度-6”;
bg[7]=“梯度-7”;
bg[8]=“梯度-8”;

对于(i=0;i首先,定义数组的更好做法是:

var bg = ["gradient-0", "gradient-1", "gradient-0", you get the idea...];
你到底想做什么?
每次调用函数时,代码都会将所有9个类名添加到正文中。
您可以使用classList的remove方法删除类名。
它是否取决于步骤的值以及类名称主体应具有的属性?
你可以这样做:

body.className = bg[step];
这将删除body的所有类名,并将其命名为className bg[step]

或者,如果body的类名与bg中的类名不同,则可以执行以下操作:

var i = 0, len = bg.length;
for ( ; i<len; i++) {
  if (i === step) { body.classList.add(bg[i]);
  } else {
    if (body.classList.contains(bg[i]) { body.classList.remove(bg[i]); }
  }
}
var i=0,len=bg.length;

对于(;i首先,定义数组的更好做法是:

var bg = ["gradient-0", "gradient-1", "gradient-0", you get the idea...];
你到底想做什么?
每次调用函数时,代码都会将所有9个类名添加到正文中。
您可以使用classList的remove方法删除类名。
它是否取决于步骤的值以及类名称主体应具有的属性?
你可以这样做:

body.className = bg[step];
这将删除body的所有类名,并将其命名为className bg[step]

或者,如果body的类名与bg中的类名不同,则可以执行以下操作:

var i = 0, len = bg.length;
for ( ; i<len; i++) {
  if (i === step) { body.classList.add(bg[i]);
  } else {
    if (body.classList.contains(bg[i]) { body.classList.remove(bg[i]); }
  }
}
var i=0,len=bg.length;

对于(;I我正在尝试将bg样式添加到这个整洁的演示脚本中。是否要在每个步骤中更改body的背景样式?当body包含所有9个类时,它将在css中最后列出样式。如果要根据步骤更改背景,则需要删除除对应的类之外的所有类步骤。我不确定for循环的作用是什么,因为每次调用函数时,它都会将所有9个类添加到body中。我试图做的是将bg样式添加到这个整洁的演示脚本中。是否要在每一步更改body的背景样式?当body拥有所有9个类时,它将在css中最后列出样式。如果您愿意的话根据步骤更改背景,然后您需要删除与步骤对应的类以外的所有类。我不确定for循环的用途,因为每次调用函数时,它都会将所有9个类添加到body中