Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.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_Jquery_Html_Css - Fatal编程技术网

Javascript JS转盘-未捕获的语法错误:意外标识符

Javascript JS转盘-未捕获的语法错误:意外标识符,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我收到了一个错误代码('Uncaught SyntaxError:Unexpected identifier'-index.html:1): HTML JS var头元素; var选择_点; var headerCarousel_标志={ 数值:0 }; $(文档).ready(函数(){ header_元素=document.getElementById(“header”); 选定的点=document.getElementsByClassName(“点”); var j=0; 对于(;j

我收到了一个错误代码('Uncaught SyntaxError:Unexpected identifier'-index.html:1):

HTML

JS

var头元素;
var选择_点;
var headerCarousel_标志={
数值:0
};
$(文档).ready(函数(){
header_元素=document.getElementById(“header”);
选定的点=document.getElementsByClassName(“点”);
var j=0;
对于(;j<5;j++){
选中的点[j].setAttribute(“onclick”、“next('header'、“+headerCarousel\u flag+”、'bgImg');
}
转盘(表头单元,表头唤醒标志,'bgImg');
});
功能转盘(元素、标志、类名){
var element_id=$(element.attr('id');
如果(flag.value==0){
下一步(元素标识、标志、类名称);
}
else if(flag.value==1){
下一步(元素标识、标志、类名称);
}
else if(flag.value==2){
下一步(元素标识、标志、类名称);
}
else if(flag.value==3){
下一步(元素标识、标志、类名称);
}
否则{
下一步(元素标识、标志、类名称);
}
setTimeout(函数(){
转盘(元件、标志、类别名称);
}, 3000);
}
函数next(元素id、标志、类名称){
var element_obj=document.getElementById(element_id);
element_obj.className=class_name+flag.value;
resetIDs();
选中的点[flag.value].id=“选中的点”;
flag.value++;
如果(flag.value==5)flag.value=0;
}
函数resetIDs(){
var i=0;
对于(;i<5;i++){
所选_点[i].id=“”;
}
}
很抱歉粘贴了一堆代码,但现在我真的不确定出了什么问题

所以问题是,我正在制作一种旋转木马,它会改变背景颜色,它应该在3秒钟后改变(就像现在一样),但当用户单击代表一个点的div时也会改变。当我点击它的时候,我得到了一个错误,什么也没有发生,它每3秒钟就会继续改变。所以我想我可能传递了错误的arguments(尽管我认为我会得到一个不同的错误消息)。
有没有鹰眼看到我遗漏了什么?

当代码需要一个函数时,您正在传递一个字符串作为参数

selected_dot[j].setAttribute("onclick", "next('header', " + headerCarousel_flag + ", 'bgImg')");
是你的罪魁祸首吗

selected_dot[j].addEventListener('click', function() {
      next('header', headerCarousel_flag, 'bgImg');
})
你应该把它修好


此代码没有执行您希望它执行的操作,但它确实解决了您当前的错误。

您正在将字符串作为参数传递,而您的代码需要一个函数。Ty@Roberrrt。因此,如果我更改
selected_-dot[j].setAttribute(“onclick”,“next('header',“+headerCarousel_-flag+”,'bgImg')带有
选中的点[j]。setAttribute(“onclick”,next('header',headerCarousel_标志,'bgImg')我没有得到错误,但是当我打开浏览器时,我得到了我的next()函数调用了5次,但是当我点击dot时,什么都没有发生:/Yeah,仍然需要修复我的headerCarousel值,但现在这已经起作用了,应该很容易了。Tyvm
var header_element;
var selected_dot;
var headerCarousel_flag = {
    value: 0
};
$(document).ready(function(){
    header_element = document.getElementById("header");
    selected_dot = document.getElementsByClassName("dot");
    var j = 0;
    for(; j < 5 ; j++){
        selected_dot[j].setAttribute("onclick", "next('header', " + headerCarousel_flag + ", 'bgImg')");
    }
    Carousel(header_element, headerCarousel_flag, 'bgImg');
});
function Carousel(element, flag, class_name){
    var element_id = $(element).attr('id');
    if(flag.value == 0){
        next(element_id, flag, class_name);
    }
    else if(flag.value == 1){
        next(element_id, flag, class_name);
    }
    else if(flag.value == 2){
        next(element_id, flag, class_name);
    }
    else if(flag.value == 3){
        next(element_id, flag, class_name);
    }
    else {
        next(element_id, flag, class_name);
    }
    setTimeout(function(){
        Carousel(element, flag, class_name);
    }, 3000);
}
function next(element_id, flag, class_name){
    var element_obj = document.getElementById(element_id);
    element_obj.className = class_name + flag.value;
    resetIDs();
    selected_dot[flag.value].id = "selected_dot";
    flag.value++;
    if(flag.value == 5) flag.value = 0; 
}
function resetIDs(){
    var i = 0;
    for(; i < 5; i++){
        selected_dot[i].id = "";
    }
}
selected_dot[j].setAttribute("onclick", "next('header', " + headerCarousel_flag + ", 'bgImg')");
selected_dot[j].addEventListener('click', function() {
      next('header', headerCarousel_flag, 'bgImg');
})