2016-11-16 2 views
0

Возникли проблемы с функцией javascript, записывающей в тег id id HTML. В javascripts функция «pageSetup» Im пытается записать в тег HTML «IMG», который содержит случайный pic.Bellow Ive перечисляет HTML-код и функцию, прикрепленную к HTML.Javascript; переменная функция return, напишите в 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

Смежные вопросы