Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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
onload javascript将背景图像分配给div_Javascript_Jquery_Css_Background_Onload - Fatal编程技术网

onload javascript将背景图像分配给div

onload javascript将背景图像分配给div,javascript,jquery,css,background,onload,Javascript,Jquery,Css,Background,Onload,我有这段代码,它通过在“src”中通过javascript打印其url,将不同的图像加载到“img”。在CSS完成“img”标记中的内容后 我尝试了下面的代码,但我觉得很笨拙。我不知道;我不知道这是否可能,或者是否有一种比通过javascript实现的方法更简单的方法。如你所见,我不是专家 $(window).load(function() { var randomImages = ['img1','img2','img3']; var rndNum = Math.floor(M

我有这段代码,它通过在“src”中通过javascript打印其url,将不同的图像加载到“img”。在CSS完成“img”标记中的内容后

我尝试了下面的代码,但我觉得很笨拙。我不知道;我不知道这是否可能,或者是否有一种比通过javascript实现的方法更简单的方法。如你所见,我不是专家

$(window).load(function() {
    var randomImages = ['img1','img2','img3'];
    var rndNum = Math.floor(Math.random() * randomImages.length);
    var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'


    $('#home').css({
        'background:' url 'no-repeat' 'center' 'center' 'fixed', 
        '-webkit-background-size': 'cover',
        '-moz-background-size': 'cover',
        '-o-background-size': 'cover',
        'background-size': 'cover'
        });
    }
谢谢

编辑:更多信息//////////////////////////////

jfriend00的答案似乎100%正确且符合逻辑。我试着使用第二种选择。两种选择我都试过了,但似乎都不管用。我还尝试通过javascript将一个简单的代码应用到#home,但它不起作用。。。所以我认为javascript文件和html之间的链接有问题,也许问题出在其他地方

这里我将提供更多有用的信息。我在头部插入我的html和与不同文件的连接,也许这会有帮助。我正在创建一个具有水平布局的web。它通过jquery完美地工作

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>DJ Femke</title>

        <!-- JAVASCRIPT CONNECTIONS -->

        <script type="text/javascript" src="_js/jquery-1.3.1.min.js"></script>
        <script type="text/javascript" src="_js/jquery.scrollTo.js"></script>
        <script type="text/javascript" src="_js/scroll_resize.js"></script>
        <script type="text/javascript" src="_js/onload.js"></script>


        <!-- CSS CONNECTIONS -->
        <link type="text/css" rel="stylesheet" href="_css/style.css" media="screen"/>
    </head>
    <body>
        <div id="wrapper">
            <div id="mask">

                <div id="booking" class="item">

                    <a name="item1"></a>
                    <div class="content">item1 
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>BOOKING</p>
                    </div>
                </div>

                <div id="about_me" class="item">
                    <a name="item2"></a>
                    <div class="content">about_me
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>ABOUT ME</p>
                    </div>
                </div>

                <div id="home" class="item" src="">
                    <a name="item3"></a>
                    <div class="content">item3
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>HOME</p>
                    </div>
                </div>

                <div id="music" class="item">
                    <a name="item4"></a>
                    <div class="content">item4
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>MUSIC</p>
                    </div>
                </div>

                <div id="photo_video" class="item">
                    <a name="item5"></a>
                    <div class="content">item5
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>PHOTO AND VIDEO</p>
                    </div>
                </div>

                <div id="contact" class="item">
                    <a name="item6"></a>
                    <div class="content">item6
                        <a href="#booking" class="panel">1</a> | 
                        <a href="#about_me" class="panel">2</a> | 
                        <a href="#home" class="panel">3</a> | 
                        <a href="#music" class="panel">4</a> | 
                        <a href="#photo_video" class="panel">5</a>
                        <a href="#contact" class="panel">6</a>
                        <p>CONTACT</p>
                    </div>
                </div>

            </div>
        </div>  
    </body>
</html>
也许它很方便。。。我的文件结构:
编辑:哦,是的,另一张海报是对的。我没有检查随机数的生成。。。但其余的仍然适用

我不使用jquery

但是,在常规情况下,它更像: **警告,未测试代码**

var imgs = ["foo1.jpg", "foo2.jpg"];
var idx = Math.floor(Math.random() * imgs.length)
var img = imgs[idx];

var el = document.getElementById('home');
el.style.backgroundImage="url('" + img + "')";

通过javascript设置背景图像有两种选择。您可以只设置
background image
CSS属性,也可以将字符串添加到一起,形成
background
属性的整个字符串

备选案文1:

$(window).load(function() {
    var randomImages = ['img1','img2','img3'];
    var rndNum = Math.floor(Math.random() * randomImages.length);
    var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)';


    $('#home').css('background-image', url);
});
备选案文2:

$(window).load(function() {
    var randomImages = ['img1','img2','img3'];
    var rndNum = Math.floor(Math.random() * randomImages.length);
    var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'

    $('#home').css({
        'background': url + ' no-repeat center center fixed', 
        '-webkit-background-size': 'cover',
        '-moz-background-size': 'cover',
        '-o-background-size': 'cover',
        'background-size': 'cover'
    });
 });
您还缺少一个结束语
在完成
$(窗口).load()语句的代码末尾


第二个选项的工作示例:

+1用于使用类-我会选择选项1-将不同语言/脚本语言的不同代码尽可能地分开是一种很好的风格。您好jfriend00。这就是我需要的答案。现在它对我不起作用。我在尝试第二种选择。你测试过这个代码吗?我也尝试了第一种选择,但没有成功。一切似乎都是正确的。。。我尝试了不同的url路径,这不是问题所在。我的图像命名正确。。。它经过测试了吗?@DanielRamirez Escudero-我注意到第二个选项缺少一个空格,所以我在答案中添加了这个空格。如果这两个都不起作用,那么这与你的特殊情况有关。如果您为我们提供了一个实际的网页,我们可以自己查看以进行调试。如果您不这样做,那么您将不得不自己进行故障排除。我的猜测是,要么是脚本错误导致某些内容无法执行,要么是没有构建正确的图像路径。除非你给我们一个网页链接,否则我们不能在这里测试这些东西。@DanielRamirez Escudero-我还在你的原始代码中发现另一个javascript语法错误,适用于我提供的两个选项。您缺少一个结束语
位于
$(窗口)的末尾。加载
代码。您确实应该检查错误控制台中的脚本错误。我添加了第二个选项的工作示例:。如果您修复了脚本或路径错误,它将正常工作。
var imgs = ["foo1.jpg", "foo2.jpg"];
var idx = Math.floor(Math.random() * imgs.length)
var img = imgs[idx];

var el = document.getElementById('home');
el.style.backgroundImage="url('" + img + "')";
$(window).load(function() {
    var randomImages = ['img1','img2','img3'];
    var rndNum = Math.floor(Math.random() * randomImages.length);
    var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)';


    $('#home').css('background-image', url);
});
$(window).load(function() {
    var randomImages = ['img1','img2','img3'];
    var rndNum = Math.floor(Math.random() * randomImages.length);
    var url = 'url(_img/bg_array/' + randomImages[rndNum] + '.jpg)'

    $('#home').css({
        'background': url + ' no-repeat center center fixed', 
        '-webkit-background-size': 'cover',
        '-moz-background-size': 'cover',
        '-o-background-size': 'cover',
        'background-size': 'cover'
    });
 });