javascript - CSS,JavaScript : random image loader with array removes the first part of my variable how to fix this?

标签 javascript html css image random

我正在尝试使用 css 和 javascript 将随机图像背景设置为 div,但是当我在谷歌浏览器上加载随机图像时它不起作用

我试图在变量中处理所有图像 url,但这不起作用。

有谁知道为什么它会更改我的代码以及为什么它不起作用

加载随机图像的代码

<script type="text/javascript">
    var image1 = "images/image1.png";
    var image2 = "images/image2.png";
    var image3 = "images/image3.png";
    var image4 = "images/image4.png";

  var imageURLs = [
       "image1"
     , "image2"
     , "image3"
     , "image4"
  ];
  function getImageTag() {
    var img = '<div class="pdiv2" style="background-image: url("';
    var randomIndex = Math.floor(Math.random() * imageURLs.length);
    img += imageURLs[randomIndex];
    img += '")"></div>';
    return img;
  }

</script>

打印图片的地方

<script type="text/javascript">
        document.write(getImageTag());
    </script>

当我使用 google chrome 检查时的输出,编辑为 html

<div class="pdiv2" style="background-image: url(" image3")"=""></div>

最佳答案

您的代码有两个问题。首先,您需要在使用变量时删除 ":

var imageURLs = [
  image1,
  image2,
  image3,
  image4
];

其次,您还需要删除手动注入(inject)的 url() 周围的双引号。您的最终函数应如下所示:

var image1 = "images/image1.png";
var image2 = "images/image2.png";
var image3 = "images/image3.png";
var image4 = "images/image4.png";

var imageURLs = [
  image1,
  image2,
  image3,
  image4
];

function getImageTag() {
  var img = '<div class="pdiv2" style="background-image: url(';
  var randomIndex = Math.floor(Math.random() * imageURLs.length);
  img += imageURLs[randomIndex];
  img += ')"></div>';
  return img;
}

console.log(getImageTag()); // For StackOverflow output

希望对您有所帮助! :)

关于javascript - CSS,JavaScript : random image loader with array removes the first part of my variable how to fix this?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42752991/

相关文章:

javascript - 如何使用COOKIES jquery仅加载一次DIV

html - <div> 的过渡在另一个元素上创建边框

html - 使 div 影响悬停时的先例 div?

html - 如何使用 Twig 从 HTML 中提取语言

javascript - jQuery JSON 初学者尝试创建简单的服务器请求

javascript - Backbone 返回最后一个 URL - 似乎无法触发最后一个路由或哈希

jquery - 符合标准相当于目标 ="_blank"

css - Internet Explorer 7 中不显示下拉菜单

javascript - HTML Canvas 和 JavaScript - 悬停时缩放对象

javascript - 仅当选中复选框时才下载 pdf