Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   javascript как вставить изображение (https://javascript.ru/forum/misc/37268-javascript-kak-vstavit-izobrazhenie.html)

gdv 13.04.2013 15:03

javascript как вставить изображение
 
имеется скрипт теста для сотрудников, не получается вставитькартинку, Что не так делаю?:
var title = '11111'; 
 var questions=[ 
 { 
     text: "Вопрос",
answers: ["Ответ1",
"Ответ2",
"Ответ3"],
  correctAnswer: 2 
 },
var img = document.createElement("IMG");
img.src = "upload/medialibrary/e60/e605f52693f032eb03f46ffde79ef5bf.jpg";
 { 
     text: "Вопрос",
answers: ["Ответ1",
"Ответ2",
"Ответ3"],
  correctAnswer: 2 
 }
 ]; 
  
 var yourAns = new Array; 
 var score = 0; 
  
 function Engine(question, answer) {yourAns[question]=answer;} 
  
 function Score(){ 
    var answerText = "Результаты тестирования:\n"; 
    for(var i = 0; i < yourAns.length; ++i){ 
     var num = i+1; 
     answerText=answerText+"\n    Вопрос №"+ num +""; 
     if(yourAns[i]!=questions[i].correctAnswer){ 
         answerText=answerText+"\n    Правильный ответ: " + 
         questions[i].answers[questions[i].correctAnswer] + "\n"; 
       } 
         else{ 
         answerText=answerText+": Верно! \n"; 
         ++score; 
         } 
        } 
  
    answerText=answerText+"\nВсего правильных ответов: "+score+"\n"; 
  
    alert(answerText); 
    yourAns = new Array; 
    score = 0; 
    clearForm("quiz"); 
 } 
 function clearForm(name) { 
    var f = document.forms[name]; 
    for(var i = 0; i < f.elements.length; ++i) { 
     if(f.elements[i].checked) 
         f.elements[i].checked = false; 
 } 
 }


Скрипт работает без:
var img = document.createElement("IMG");
img.src = "upload/medialibrary/e60/e605f52693f032eb03f46ffde79ef5bf.jpg";


Т.е. ко второму вопросу идет фотовопрос. Подскажите, как сделать что бы работало?

Ervin 13.04.2013 16:15

var img = document.createElement("IMG");
img.src = "upload/medialibrary/e60/e605f52693f032eb03f46ffde79ef5bf.jpg";


Эту часть объявить под массивом с вопросами и все будет ок.

gdv 13.04.2013 16:29

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

gdv 13.04.2013 16:32

Цитата:

Сообщение от Ervin (Сообщение 245985)
var img = document.createElement("IMG");
img.src = "upload/medialibrary/e60/e605f52693f032eb03f46ffde79ef5bf.jpg";


Эту часть объявить под массивом с вопросами и все будет ок.

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

rgl 13.04.2013 17:06

Чтобы изображение появилось, надо не только его создать, но и добавить в документ. (appendChild, insertBefore, ...)

gdv 13.04.2013 20:26

Цитата:

Сообщение от rgl (Сообщение 245997)
Чтобы изображение появилось, надо не только его создать, но и добавить в документ. (appendChild, insertBefore, ...)

Не могли бы вы написать пример кода использования метода appendChild в моём случае? Пока только знакомлюсь с javascript и много не знаю.

Ervin 13.04.2013 20:52

var parentEl = document.getElementById("id"),
     img = document.createElement("IMG");

img.src = "/image.jpg";


parentEl.appendChild(img);

gdv 13.04.2013 21:27

Цитата:

Сообщение от Ervin (Сообщение 246027)
var parentEl = document.getElementById("id"),
     img = document.createElement("IMG");

img.src = "/image.jpg";


parentEl.appendChild(img);


Простите, правильно ли я понял?
var title = '11111'; 

var parentEl = document.getElementById("id"),
img = document.createElement("IMG");
img.src = "/upload/medialibrary/e60/e605f52693f032eb03f46ffde79ef5bf.jpg";

 var questions=[ 
 { 
     text: "Вопрос",
answers: ["Ответ1",
"Ответ2",
"Ответ3"],
  correctAnswer: 2 
 },
 { 
parentEl.appendChild(img);
    text: "Вопрос",
answers: ["Ответ1",
"Ответ2",
"Ответ3"],
  correctAnswer: 2 
 }
 ]; 
   
 var yourAns = new Array; 
 var score = 0; 
   
 function Engine(question, answer) {yourAns[question]=answer;}
-----
-----


не работает! Уже думаю, хотя бы ссылку вставить

rgl 13.04.2013 21:42

Цитата:

Сообщение от gdv
Простите, правильно ли я понял?

Нет, не правильно. Вы не показали HTML и место, куда хотите вставить картинку. Вместо "id" нужно использовать id реально существующего элемента. Это во-первых. Ну а во-вторых, вынесите 16-ю строчку куда-нибудь в другое место, она там только мешает.

Hishchnik 18.04.2014 02:06

К размышлению
 
:agree: а не проще использовать innerHTML??? ;)

document.getElementById("avatarka").innerHTML="<im g src='media/app/avatars/"+b+"' width='50' height='50'>";

для своего сайта реализовал превью меняемое при выборе аватарки :yes:


Часовой пояс GMT +3, время: 22:52.