2016-11-16 5 views
0

HTML id imgタグに書き込むjavascript関数に問題があります。 javascripts関数 "pageSetup"で、ランダムなpic.Bellow Iveを含むHTML "IMG"タグに書き込もうとしましたが、HTMLコードとHTMLに添付されている関数がリストされていました。Javascript;可変関数が返され、HTMLに書き込む

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
    <title></title> 
    <link href="flowers.css" rel="stylesheet" type="text/css"/> 
    <script src="lab09.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     window.onload = pageSetup(); 

      function pageSetup() { 
       var nDate = new Date(); 
       var myBanner = displayBanner(nDate); 
       alert(myBanner); /*This seems correct, returning a random 
            picture 

       //document.getElementById(myBanner).src= 
       var salesMessage = calcDaysToSale(nDate); 
      } 

    </script> 

</head> 
<body> 
<div id="container"> 
    <div id="header"> 
     <p> 
      <img id="myBanner" src=" " alt="Carol's Flowers"/> 
     </p> 

function displayBanner(currentDate) { 
    var imgsource; 
    var month; 
    month = currentDate.getMonth()+1; 
    if ((month==12)|| (month==1) || (month==2)){ 
     imgsource ="winterLogo.gif"; 
    } 
    else if ((month==3) || (month==4) || (month==5)) { 
     imgsource ="springLogo.gif"; 
    } 
    else if ((month==6) || (month==7) || (month==8)) { 
     imgsource ="summerLogo.gif"; 
    } 
    else if ((month==9) || (month==10) || (month==11)) { 
     imgsource ="fallLogo.gif"; 
    } 
    else { 
     imgsource = "defaultLogo.gif"; 
    } 
    alert(imgsource); 
    return imgsource; 
} 
+0

だから、問題が何であるか、正確に? – Dai

+0

イメージソースをgetElementById()に渡していますか? – ray

+1

'window.onload = ...'を避け、代わりに 'window.addEventListner( 'DOMContentLoaded'、...)'を使用してください。 – Dai

答えて

3

getElementById()にイメージソースを渡しています。あなたは 'myBanner'を渡すべきではありませんか? getElementById('myBanner').src = myBannerのように?

はここにあなたのコードを使用して作業例です:

function displayBanner(currentDate) { 
 
    var imgsource; 
 
    var month; 
 
    month = currentDate.getMonth()+1; 
 
    if ((month==12)|| (month==1) || (month==2)){ 
 
     imgsource ="http://placehold.it/200?text=winterLogo.gif"; 
 
    } 
 
    else if ((month==3) || (month==4) || (month==5)) { 
 
     imgsource ="http://placehold.it/200?text=springLogo.gif"; 
 
    } 
 
    else if ((month==6) || (month==7) || (month==8)) { 
 
     imgsource ="http://placehold.it/200?text=summerLogo.gif"; 
 
    } 
 
    else if ((month==9) || (month==10) || (month==11)) { 
 
     imgsource ="http://placehold.it/200?text=fallLogo.gif"; 
 
    } 
 
    else { 
 
     imgsource ="http://placehold.it/200?text=defaultLogo.gif"; 
 
    } 
 
    alert(imgsource); 
 
    return imgsource; 
 
} 
 

 
var src = displayBanner(new Date()); 
 
document.getElementById('myBanner').src = src;
<img id="myBanner" src=" " alt="Carol's Flowers"/>

+0

私はdocument.getElementById( 'myBanner')を試しました。src = myBanner;その関数から返されたランダムなイメージをHTMLページに表示しません。 – user001

+1

@ user001 'myBanner'は画像への実際のパスか、単に画像の名前ですか?実際のパスが必要です。 – Gavin

+0

実用的なコード例で私の答えを更新しました。 – ray

関連する問題