javascript
  • html
  • src
  • 2016-06-16 15 views 0 likes 
    0

    曜日に基づいて画像のsrcを変更しようとしています。しかし、srcは更新されていません。 問題は何ですか?JSを使用して画像ソースを変更できない

    <head> 
    <script type="text/javascript"> 
    image = new Array(7); 
    image[0] = 'img/about-img1.jpg'; 
    image[1] = 'img/about-img2.jpg'; 
    image[2] = 'img/about-img3.jpg'; 
    image[3] = 'img/about-img4.jpg'; 
    image[4] = 'img/about-img1.jpg'; 
    image[5] = 'img/about-img4.jpg'; 
    image[6] = 'img/about-img5.jpg'; 
    var currentdate = new Date(); 
    var imagenumber = currentdate.getDay(); 
    document.getElementById("special").src=image[imagenumber]; 
    </script> 
    </head> 
    <body> 
    <img id="special" src=""> 
    </body> 
    
    +1

    「ImageArray」とは何ですか?おそらくあなたは 'Array'を意味していたでしょう。 – Turnip

    +0

    MasterPagesを使用してページを作成していますか?そうであれば、要素の名前にIDの前に「MainContent_」が付いていて、getelementbyIDで見つからない場合があります。 –

    答えて

    1

    DOMにアクセスする前にアクセスしようとしています。スクリプトタグを<body>タグの末尾にある<img>の下に置きます。

    <body> 
    <img id="special" src=""> 
    
    <script type="text/javascript"> 
    image = new ImageArray(7); 
    image[0] = 'img/about-img1.jpg'; 
    image[1] = 'img/about-img2.jpg'; 
    image[2] = 'img/about-img3.jpg'; 
    image[3] = 'img/about-img4.jpg'; 
    image[4] = 'img/about-img1.jpg'; 
    image[5] = 'img/about-img4.jpg'; 
    image[6] = 'img/about-img5.jpg'; 
    var currentdate = new Date(); 
    var imagenumber = currentdate.getDay(); 
    document.getElementById("special").src=image[imagenumber]; 
    </script> 
    </body> 
    

    また、スクリプトはDOMがロードされている(jQueryの$(function() { });に似ていますが、プレーンJavaScriptを使用して)した後に実行されていることを確認するためにwindow.onloadイベントを使用してに見えます。
    here

    +0

    ええ。それは問題でした。おかげです+1 – jophab

    +1

    時間制限は8です分。私は確かにします – jophab

    0

    ソリューションは<img>タグの後に体内内のJavaScriptコードを配置することです参照してください。頭の中でそれを使用すると、イメージDOM要素が存在する前にそれを実行するので、getElementById()は何も見つかりません。

    <head> 
    </head> 
    <body> 
        <img id="special" src=""> 
        <script type="text/javascript"> 
        var image = [1, 2, 3, 4, 1, 4, 5], 
         currentdate = new Date(); 
        document.getElementById("special").src = 'img/about-img' + image[currentdate.getDay()] + '.jpg'; 
        </script> 
    </body> 
    
    +0

    ええ...それは問題だった。おかげで+1 – jophab

    関連する問題