外部javascript文件中的错误

时间:2015-09-04 08:43:43

标签: javascript html

我有一个javascript,当放在我的HTML头部时工作。 它会动态更改div'bg'中的背景图像。

<script type="text/javascript">window.onload = function () {
    var header = document.getElementById('bg');
    var pictures = new Array('http://someurl.com/bgs/1.jpg',
                             'http://someurl.com/bgs/2.jpg',
                             'http://someurl.com/bgs/3.jpg',
                             'http://someurl.com/bgs/4.jpg',
                             'http://someurl.com/bgs/5.jpg');
    var numPics = pictures.length;
    if (document.images) {
        var chosenPic = Math.floor((Math.random() * numPics));
        header.style.backgroundImage = 'url(' + pictures[chosenPic] + ')';</script>

我想将它用作外部.js文件,但是当我将脚本保存为dynamicbg1.js并将其调用时: <script src="http://someurl.com/js/dynamicbg1.js"></script> 我收到错误,图片无法加载。 这是我得到的错误: 函数体后面的“SyntaxError:missing}”  但是当我在dynamicbg1.js中添加}}这样的时候:

window.onload = function () {
    var header = document.getElementById('bg');
    var pictures = new Array('http://someurl.com/bgs/1.jpg',
                             'http://someurl.com/bgs/2.jpg',
                             'http://someurl.com/bgs/3.jpg',
                             'http://someurl.com/bgs/4.jpg',
                             'http://someurl.com/bgs/5.jpg');
    var numPics = pictures.length;
    if (document.images) {
        var chosenPic = Math.floor((Math.random() * numPics));
        header.style.backgroundImage = 'url(' + pictures[chosenPic] + ')';
    }

我得到了同样的错误。 任何人都可以帮助我让脚本作为外部.js文件工作吗?

1 个答案:

答案 0 :(得分:3)

当您追加}时,您正在关闭使用if (document.images) {打开的区块。

仍然保持功能开放。

您需要另一个}