2014-01-08 3 views
0

Есть четыре файла в том же каталоге папкиJavaScript пытается изменить образ

- 1.jpg 
- 2.jpg 
- index.html 
- 1.js 

Я надеюсь писать код, чтобы он загрузит 1.jpg на первом, но она будет загружать 2.jpg следующий

JavaScript является

var img = new Image(); // Create new img element 
img.src = '2.jpg'; 


var getElementIMG = document.getElementById("imageid"); 
getElementIMG.src = img.src; 

И HTML является

<img id="imageid" src="1.jpg"> 

но когда страница загрузится она по-прежнему отображает 1.jpg

+0

Для чего нужен пустой элемент изображения? 'document.getElementById (" imageid "). src = '2.jpg';' и убедитесь, что вы поместите скрипт после элементов в DOM. – adeneo

+0

Вы уверены, что этот кусок кода вызывается? Вы пытались отладить его? Где на странице вы его разместили? – melancia

+0

Когда и где вы называете javascript? – Goose

ответ

0

Попробуйте это:

<!doctype html> 
    <html> 
     <body> 
      <img id="imageid" src="1.jpg"> 
      <script> 
       var getElementIMG = document.getElementById("imageid"); 
       getElementIMG.src = '2.jpg'; 
      </script> 
     </body> 
    </html> 
0

Если Javascript находится на header вам нужно указать, когда вы хотите image заменить, что, когда он существует.

После window был загружен:

window.onload = function() { 
    document.getElementById("imageid").src = "2.jpg"; 
} 

Демо: http://jsfiddle.net/5a6Jx/2/

Или вы можете просто придерживаться script в конце страницы:

<img id="imageid" src="1.jpg" /> 

<script type="text/javascript"> 
    document.getElementById("imageid").src = "2.jpg"; 
</script> 

На обоих направлениях ваш image уже будет, так что вы можете манипулировать им.

+0

Спасибо большое, что вы решили мое замешательство. – user979431

+0

Добро пожаловать. – melancia

+0

Всегда ли стоит загружать файлы JavaScript ПОСЛЕ запуска HTML-файла? – user979431

0
<head> <script type="text/javascript" src="1.js"></script> </head> 

Сценарий загружается в голову и выполняется немедленно. Нет элемента '#imageid', поэтому document.getElementById возвращает null. Вероятно, ошибка возникла на линии getElementIMG.src = img.src;. Если что-то не работает, одна из первых вещей, которую вы должны сделать, это проверить наличие ошибок в отладчике/консоли. (F12 в большинстве браузеров.)
Позже на странице браузер видит изображение. Он отображает его.

Что вы хотите сделать, это загрузить скрипт после изображения. Если вы положите его в конце страницы, то <img> будет отображаться браузером, и только после этого его src будет изменен.

+0

Большое спасибо за подробный ответ, Merci bien – user979431

+0

Всегда ли стоит загружать файлы javascript ПОСЛЕ загрузки HTML? – user979431

+0

Самый простой способ избежать неприятностей - поставить все файлы javascript перед закрывающим тегом ''. В качестве бонуса ваша страница будет загружаться быстрее - JS загружается только тогда, когда отображается остальная страница. –

0

Вам придется сделать свой ход, когда документ и ваше изображение оба загружены.

window.onload = function() { 
    var img = new Image(); 
    img.src = '2.jpg'; 

    img.onload = function() { 
     var getElementIMG = document.getElementById("imageid"); 
     getElementIMG.src = img.src; 
    } 
} 
Смежные вопросы