使用javascript作为背景图片

时间:2017-06-23 09:25:25

标签: javascript background-image

我已经找到了这个问题的其他帖子(因为当然有)。 但是我甚至没有成功回答这些其他帖子。

然后,我的问题:

我有以下脚本随机打开图像

<script> function banner()
{var img = new Array();
img[0]='images/hochbau1.jpg';
img[1]='images/hochbau2.jpg';
img[2]='images/hochbau3.jpg';
img[3]='images/hochbau4.jpg';
img[4]='images/hochbau5.jpg';
img[5]='images/hochbau6.jpg';
img[6]='images/hochbau7.jpg';
img[7]='images/hochbau8.jpg';
img[8]='images/hochbau9.jpg';
img[9]='images/hochbau10.jpg';
var n=Math.round((Math.random()*9));
document.write(img[n]);
} </script> 

然后,我想在这里有这些图像(而不是images / hochbau.jpg):

 <div class="section22" style="background-image:url(images/hochbau.jpg); "> </div>

然后,我尝试了这个:

 <div class="section22" style="background-image:url(<script> banner(); </script>);"> </div> 

或者

<div class="section22" style="background-image:url(
                   <script type="text/javascript" language="javascript">
                       document.write('images/hochbau'+ Math.round((Math.random()*9)+1)+ '.jpg');
                  </script>
                  ); "> </div>

然后,我将脚本更改为:

<script> function banner()
{var img = new Array();
img[0]='images/hochbau1.jpg';
img[1]='images/hochbau2.jpg';
img[2]='images/hochbau3.jpg';
img[3]='images/hochbau4.jpg';
img[4]='images/hochbau5.jpg';
img[5]='images/hochbau6.jpg';
img[6]='images/hochbau7.jpg';
img[7]='images/hochbau8.jpg';
img[8]='images/hochbau9.jpg';
img[9]='images/hochbau10.jpg';
var n=Math.round((Math.random()*9));
document.getElementById('myPElement').style.backgroundImage = 'url(img[n])';

} </script> 

以下

<div class="section22" id="myPElement">

但没有任何工作......也许我对解决方案感到不满,但我被卡住了......

如果你有一些观察,请告诉我! 非常感谢你的帮助

3 个答案:

答案 0 :(得分:2)

您只是没有在脚本中正确引用图像

<script> function banner()
{var img = new Array();
img[0]='images/hochbau1.jpg';
img[1]='images/hochbau2.jpg';
img[2]='images/hochbau3.jpg';
img[3]='images/hochbau4.jpg';
img[4]='images/hochbau5.jpg';
img[5]='images/hochbau6.jpg';
img[6]='images/hochbau7.jpg';
img[7]='images/hochbau8.jpg';
img[8]='images/hochbau9.jpg';
img[9]='images/hochbau10.jpg';
var n=Math.round((Math.random()*9));
document.getElementById('myPElement').style.backgroundImage = 'url(' + img[n] +')';  //you are passing img[n] as string, just change this

} </script> 

编辑: 我看到了您的信息页:http://www.mytmedia.craym.eu/HRPwebsite/index.php

从代码检查我看到banner()函数永远不会执行,如果我尝试在控制台中执行它,背景图像设置正确但你的iamges不存在:enter image description here

答案 1 :(得分:0)

这应该有效

document.getElementById("myPElement").style.backgroundImage = "url("+img[n]+")";

答案 2 :(得分:0)

嗨,非常感谢你的帮助......

我的代码中出错的地方是: 1-使用脚本中的函数。我不得不使用脚本,但没有&#34;功能&#34; 2-当然是形式&#39; url(img [n])&#39;这是错的..

对我有用的代码(我在本地测试过,我必须在线测试)

                <div id="myPElement" class="section22" ></div>
            <script> 
                var img = new Array();
                img[0]='http://localhost:8888/images/hochbau1.jpg';
                img[1]='http://localhost:8888/images/hochbau2.jpg';
                img[2]='http://localhost:8888/images/hochbau3.jpg';
                img[3]='http://localhost:8888/images/hochbau4.jpg';
                img[4]='http://localhost:8888/images/hochbau5.jpg';
                img[5]='http://localhost:8888/images/hochbau6.jpg';
                img[6]='http://localhost:8888/images/hochbau7.jpg';
                img[7]='http://localhost:8888/images/hochbau8.jpg';
                img[8]='http://localhost:8888/images/hochbau9.jpg';
                img[9]='http://localhost:8888/images/hochbau10.jpg';
                var n=Math.round((Math.random()*9));
                document.getElementById("myPElement").style.backgroundImage = "url(" + img[n] +")";
            </script> 

Evrything现在正在运作......照片随机出现......

非常感谢你的帮助!