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

Javascript:用一个函数触发多个函数。以及显示多个图像

Javascript:用一个函数触发多个函数。以及显示多个图像,javascript,image,function,var,Javascript,Image,Function,Var,我想做一些随机图像发生器。我想在javascript的帮助下,使用多个变量和函数来实现这一点 现在的情况是这样的: HTML <head> <link type="text/css" rel="stylesheet" href="StyleSheet.css"> <script src="functions.js"></script> <meta charset="utf-8" /> <title>Pack

我想做一些随机图像发生器。我想在javascript的帮助下,使用多个变量和函数来实现这一点

现在的情况是这样的:

HTML

<head>
<link type="text/css" rel="stylesheet" href="StyleSheet.css">
<script src="functions.js"></script>
    <meta charset="utf-8" />
    <title>Pack opener</title>
</head>
<body>
    <div class="header">
        test
    </div>

    <div class="buttons">
        <button class="button button1" onclick="genPack();">Generations</button>
    </div>

    <div class="imgholder">
        <img src="" alt="" id="img">
    </div>
</body>

目前代码运行良好,但它只显示total函数中的最后一个函数。我希望它相邻显示10个图像。

您可以在这种情况下使用do while循环:

function total(count1, count2, count3) {
  while (count1 > 0) {
    addimg1();
    count1 -= 1;
  }
  while (count2 > 0) {
    addimg3();
    count1 -= 1;
  }
  while (count3 > 0) {
    addimg3();
    count1 -= 1;
  }
}
因此,它将是一个函数,具有给定的参数-每个函数的重复计数数


但它仍然是一个糟糕的代码,我建议您重新思考并重写脚本。

如果您要在一个位置显示所有图像,请组合阵列,然后逐个显示。这是一个示例:

var img1 = new Array("image1.png", "image2.png");
var img2 = new Array("image3.png", "image4.png");
var img3 = new Array("image5.png", "image6.png");
function showImgs(){
    var allImg = img1.concat(img2).concat(img3);
    var img = document.getElementById('img');
    var cnt = 0, len = allImg.length;
    setInterval(function(){img.src = allImg[(cnt++) % len];}, 5000);
}

<button onclick="showImgs()">Show</button>
var img1=新数组(“image1.png”、“image2.png”);
var img2=新数组(“image3.png”、“image4.png”);
var img3=新数组(“image5.png”、“image6.png”);
函数showImgs(){
var allImg=img1.concat(img2.concat(img3);
var img=document.getElementById('img');
var cnt=0,len=allImg.length;
setInterval(function(){img.src=allImg[(cnt++)%len];},5000);
}
显示

document.getElementById(“img”)您正在将所有图像添加到单个img标记中,因此最后一次调用addimg函数值将显示。尝试在你的页面上创建更多的img标签,或者使用jsok将它们装箱,这很有意义。我会试试的谢谢
var img1 = new Array("image1.png", "image2.png");
var img2 = new Array("image3.png", "image4.png");
var img3 = new Array("image5.png", "image6.png");
function showImgs(){
    var allImg = img1.concat(img2).concat(img3);
    var img = document.getElementById('img');
    var cnt = 0, len = allImg.length;
    setInterval(function(){img.src = allImg[(cnt++) % len];}, 5000);
}

<button onclick="showImgs()">Show</button>