如何分开两个变量

时间:2015-01-30 16:41:14

标签: javascript html variables random

我有这些代码,我的问题是图像和文本出现在一个div中。如何将图像分开并将其显示到另一个div,同时图像也显示在另一个div上。但是当我重新加载页面时,图像1将对应于文本1.与图像2相同它也应该与文本2一起出现。

<html>
<head>
<meta charset=utf-8 />
<title>Random Text Plus Image</title>
</head>
<body>
  <div id="quote"></div>
  <script>
    (function() {
      var quotes = [
        {
          text: "text1",
          img:  "image1.jpg"
        },
        {
          text: "text2",
          img:  "image2.jpg",
        }
      ];
      var quote = quotes[Math.floor(Math.random() * quotes.length)];
      document.getElementById("quote").innerHTML =
        '<p>' + quote.text + '</p>' +
        '<img src="' + quote.img + '">';
    })();
  </script>
</body>
</html>

并从评论中更新了代码:

<!DOCTYPE html> 
<html> 
    <head> 
        <meta charset=utf-8 /> 
        <title>Random Text Plus Image</title> 
    </head>
    <body>
        <div id="img"></div>
        <div id="text"></div>
        <script> 
            (function() { 
                var img = ["image1.jpg", "image2.jpg"]; 
                var text= ['text1','text2']; 
                var img = img[Math.floor(Math.random() * img.length)]; 
                var text = text[Math.floor(Math.random() * text.length)];                 
                document.getElementById("img").innerHTML = '<div>'+ text + '</div>'+ '<img src="' + img + '">'; })(); 
       </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

document.getElementById("quote").innerHTML = 
'<div><p>' + quote.text + '</p></div>' +
'<dic><img src="' + quote.img + '"></div>';

答案 1 :(得分:0)

不确定为什么要从第一个更有意义的数据结构中更改它,但问题是你生成了两个不同的数字!

var img = ["image1.jpg", "image2.jpg"]; 
var text= ['text1','text2']; 
var img = img[Math.floor(Math.random() * img.length)]; //random number 1
var text = text[Math.floor(Math.random() * text.length)];   //random number 2               
document.getElementById("img").innerHTML = '<div>'+ text + '</div>'+ '<img src="' + img + '">';

应该是

var img = ["image1.jpg", "image2.jpg"]; 
var text= ['text1','text2']; 
var ranNum = Math.floor(Math.random() * img.length);
var img = img[ranNum]; 
var text = text[ranNum];   
document.getElementById("text").innerHTML = '<div>'+ text + '</div>';
document.getElementById("img").innerHTML = '<img src="' + img + '">';