Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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 按顺序获取数组中的项,然后重复? 恭维: 函数更改(){ //------标题和图片-----------// 变量things=[“Slide01”、“Slide04”、“Slide05”、“Slide06”]; var字幕=[“非常好”、“很棒”、“酷”、“最好”]; //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/ var image=document.getElementById('hof'); var thing=things[]; image.src=“link”+thing+“.jpg”;//更改图像 span=document.getElementById(“myspan”); span.innerText=“恭维:”+字幕[];//更改字幕 } setInterval('change()',4000);_Javascript_Html - Fatal编程技术网

Javascript 按顺序获取数组中的项,然后重复? 恭维: 函数更改(){ //------标题和图片-----------// 变量things=[“Slide01”、“Slide04”、“Slide05”、“Slide06”]; var字幕=[“非常好”、“很棒”、“酷”、“最好”]; //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/ var image=document.getElementById('hof'); var thing=things[]; image.src=“link”+thing+“.jpg”;//更改图像 span=document.getElementById(“myspan”); span.innerText=“恭维:”+字幕[];//更改字幕 } setInterval('change()',4000);

Javascript 按顺序获取数组中的项,然后重复? 恭维: 函数更改(){ //------标题和图片-----------// 变量things=[“Slide01”、“Slide04”、“Slide05”、“Slide06”]; var字幕=[“非常好”、“很棒”、“酷”、“最好”]; //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^/ var image=document.getElementById('hof'); var thing=things[]; image.src=“link”+thing+“.jpg”;//更改图像 span=document.getElementById(“myspan”); span.innerText=“恭维:”+字幕[];//更改字幕 } setInterval('change()',4000);,javascript,html,Javascript,Html,因此,我不熟悉javascript,我正在尝试制作带有标题的幻灯片,但我需要数组中的值按顺序显示,如(slide01>slide02>slide03),然后在到达最后一个值时从头开始重复。要回答您实际问到的问题,请使用更改外部定义的索引变量。从0开始,并(在渲染幻灯片后)将其递增,在到达things.length时将其环绕。最后一部分有一个技巧: <img src="link" id="hof" </div> <span id="myspan">

因此,我不熟悉javascript,我正在尝试制作带有标题的幻灯片,但我需要数组中的值按顺序显示,如(slide01>slide02>slide03),然后在到达最后一个值时从头开始重复。要回答您实际问到的问题,请使用
更改
外部定义的
索引
变量。从
0
开始,并(在渲染幻灯片后)将其递增,在到达
things.length时将其环绕。最后一部分有一个技巧:

     <img src="link" id="hof" </div> 
    <span id="myspan">Compliment: </span>

    <script type="text/javascript">

        function change() {
        // ---------- Caption and images !! -----------//
        var things = ["Slide01", "Slide04", "Slide05", "Slide06"];
        var captions = ["Very nice", "Awesome", "Cool", "Best"];
        // ^^^^^^^^^^ Captions and Images !! ^^^^^^^^^^ //         

        var image = document.getElementById('hof');
        var thing = things[];
        image.src = "link" + thing + ".jpg"; // change the image   

        span = document.getElementById("myspan");
        span.innerText= "Compliment: " + captions[]; //change caption
        }
        setInterval('change()', 4000);

        </script> 
其他说明:

  • 不要使用并行数组,而是使用对象数组

    index = (index + 1) % things.length;
    
    然后

  • change
    之外定义该数组,无需在每次调用
    change
    时重新创建它

  • 不要将字符串传递到
    setInterval
    setTimeout
    ;改为传入函数:

    var slide = slides[index];
    image.src = "link" + slide.name + ".jpg";
    span.innerText = "Compliment: " + slide.caption + ".jpg";
    
  • 考虑将所有代码包装在范围函数中,以便
    索引
    、幻灯片数组和
    更改
    函数不是全局函数:

    setInterval(change, 4000);
    

  • 要回答您实际提出的问题:您需要使用在
    change
    外部定义的
    index
    变量。从
    0
    开始,并(在渲染幻灯片后)将其递增,在到达
    things.length时将其环绕。最后一部分有一个技巧:

         <img src="link" id="hof" </div> 
        <span id="myspan">Compliment: </span>
    
        <script type="text/javascript">
    
            function change() {
            // ---------- Caption and images !! -----------//
            var things = ["Slide01", "Slide04", "Slide05", "Slide06"];
            var captions = ["Very nice", "Awesome", "Cool", "Best"];
            // ^^^^^^^^^^ Captions and Images !! ^^^^^^^^^^ //         
    
            var image = document.getElementById('hof');
            var thing = things[];
            image.src = "link" + thing + ".jpg"; // change the image   
    
            span = document.getElementById("myspan");
            span.innerText= "Compliment: " + captions[]; //change caption
            }
            setInterval('change()', 4000);
    
            </script> 
    
    其他说明:

  • 不要使用并行数组,而是使用对象数组

    index = (index + 1) % things.length;
    
    然后

  • change
    之外定义该数组,无需在每次调用
    change
    时重新创建它

  • 不要将字符串传递到
    setInterval
    setTimeout
    ;改为传入函数:

    var slide = slides[index];
    image.src = "link" + slide.name + ".jpg";
    span.innerText = "Compliment: " + slide.caption + ".jpg";
    
  • 考虑将所有代码包装在范围函数中,以便
    索引
    、幻灯片数组和
    更改
    函数不是全局函数:

    setInterval(change, 4000);
    
  • 
    

    下一个 var计数=0; 变量things=['Slide01'、'Slide04'、'Slide05'、'Slide06']; 变量标题=[“非常好”,“很棒”,“酷”,“最好]; 函数imgcarousel() { 计数++; var img=document.getElementById(“hof”); var caption=document.getElementById(“caption”); 如果(计数>=things.length) { 计数=0; } img.src=things[count]+“.png”; caption.innerHTML=“赞美:”+字幕[计数]; }
    
    

    下一个 var计数=0; 变量things=['Slide01'、'Slide04'、'Slide05'、'Slide06']; 变量标题=[“非常好”,“很棒”,“酷”,“最好]; 函数imgcarousel() { 计数++; var img=document.getElementById(“hof”); var caption=document.getElementById(“caption”); 如果(计数>=things.length) { 计数=0; } img.src=things[count]+“.png”; caption.innerHTML=“赞美:”+字幕[计数]; }
    您可以尝试上述代码。您需要包括一个计数器来捕获按钮点击并在点击时更改图像。您可以尝试上面提到的代码。您需要包括一个计数器来捕获按钮单击并在单击时更改图像。创建索引变量时,“index=(index+1)%slides.length;”这一行在哪里?如何让变量知道在每张幻灯片之后何时递增?@brand-正如我所说,您在
    change
    之外声明变量(并将其设置为0)。关于何时增加它,你认为什么时候才有意义?请记住,数组中的第一个条目位于索引0处……创建索引变量时,“index=(index+1)%slides.length;”这一行在哪里?如何让变量知道在每张幻灯片之后何时递增?@brand-正如我所说,您在
    change
    之外声明变量(并将其设置为0)。关于何时增加它,你认为什么时候才有意义?请记住,数组中的第一个条目位于索引0处。。。