javascript - HTML 响应式 css 不适用于随机图像

标签 javascript jquery html css

原始模板只使用固定图像并使其响应不同的屏幕分辨率:

   <div class="bg-img" style="background-image: url('./img/background1.jpg');">
   <div class="overlay"></div>
   </div>

现在,我添加了一个随机图像并尝试使响应式的类/样式在此处起作用,但它不起作用。

   <header id="home">

   <div class="bg-img" style="background-image">
   <div id="banner-load"></div>

<script type='text/javascript'
   src='https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js'> 
   </script>

   <script>
   var images = ['background11.jpg', 'background12.jpg', 'background13.jpg', 
   'background14.jpg', 
   'background15.jpg'];

    $('<img class="fade-in, bg-img" style="background-image" src="img/' + 
    images[Math.floor(Math.random() * images.length)] + '">').appendTo('#banner- 
    load');
    </script>

    <div class="overlay"></div>
    </div>

我做错了什么?可能是 class="bg-img"style="background-image"无法识别随机图像?如果有,如何解决?

更新

我正在尝试其他方法,使用 div 作为背景获取原始代码,并使其可编程:

$("<div class='bg-img' style="background-image: url('img/" + images[Math.floor(Math.random() * images.length)] + ");'>")

但我仍然无法让它工作。出了点问题,我得到一个错误

--> Uncaught SyntaxError: missing ) after argument list

最佳答案

<header id="home">
   <div class="bg-img" style="height:100%;width:100%;background-image:none;background-size:cover;">
   <div id="banner-load"></div>
	<script type='text/javascript'
   src='https://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js'> 
   </script>
   <script>
   var images = ['background11.jpg', 'background12.jpg', 'background13.jpg', 
   'background14.jpg', 'background15.jpg'];
   function getRandomImage() {
   	  return 'img/'+images[Math.floor(Math.random() * images.length)];
   }
   function setRandomImage() {
   	   $('.bg-img').css('backgroundImage', 'url('+getRandomImage()+')');
   }
   $(function(){
   	setRandomImage();
   });
    </script>
    <div class="overlay"></div>
    </div>

通常我会使用 img 而不是 div 来显示图像。我必须为 div 设置宽度和高度,因为它里面什么都没有。这可以是 100px 或响应式 - 我使用 100%(填充当前 View )。

我使用了 background-size:cover 以便图像填充 div,无论它是什么尺寸。

关于javascript - HTML 响应式 css 不适用于随机图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51795036/

相关文章:

javascript - 如何在单击 div 而不是标签时获取 div 内标签的类列表?

javascript - Jquery 1.10 live() 和clone() 的组合 - 奇怪的行为

javascript - 如何使用jquery multifile选择多个文件

javascript - 为什么这个 jQuery 动画只能工作一次?

php - 需要帮助从 MySQL 检索一些数据

javascript - 如何通过 Ajax 查询发送运算符 "&"?

javascript - 如何使用 NodeJS 将 UTC 日期格式化为 `YYYY-MM-DD hh:mm:ss` 字符串?

javascript - WordPress 的 jQuery 平滑滚动不起作用

javascript - 我怎样才能让我的包含功能发挥作用?

javascript - 从结果中取消关闭模态