Отображение изображений на странице с document.write ()

0

Я пытаюсь опубликовать изображение, когда в моем файле javascript с document.write(). Проблема в том, что когда я пытаюсь это сделать, изображение всегда появляется сломанным. Вот код. Я пишу тег неправильно? Я тестировал изображения на страницах, отличных от javascript, и они, похоже, выглядят хорошо.

var replay = "yes";
var userChoice = prompt("Do you choose rock, paper or scissors?");
userChoice = userChoice.toLowerCase();
var computerChoice = Math.random();
if (computerChoice < 0.34) {
    computerChoice = "rock";
} else if (computerChoice <= 0.67) {
    computerChoice = "paper";
} else {
    computerChoice = "scissors";
}
var compare = function (choice1, choice2) {
    if (choice1 === choice2) {
        document.write("The result is a tie!");
    }
    if (choice1 === "rock") {
        if (choice2 === "scissors") {
            document.write('<img src="images\orna.jpg\">');
        } else {
            document.write("Computer chose paper. Computer wins.");
        }
    }
    if (choice1 === "paper") {
        if (choice2 === "scissors") {
            document.write("Computer chose scissors. Computer wins.");
        } else {
            document.write("Computer chose rock. Player wins.");
        }
    }
    if (choice1 === "scissors") {
        if (choice2 === "paper") {
            document.write("Computer chose paper. Player wins.");
        } else {
            document.write("Computer chose scissors. Computer wins.");
        }
    }
};
compare(userChoice, computerChoice);
  • 0
    Каким будет полный URL для некоторых ваших изображений? example.com / ??? <- что должно ??? быть?
  • 0
    Изображение находится в папке на моей флешке. Мой HTML-файл находится на один уровень выше. Так что примером будет images \ rock.jpg
Показать ещё 1 комментарий
Теги:
image

3 ответа

1
Лучший ответ

Вы почти получили его, я думаю, вам просто нужно заменить обратную косую черту: '<img src="images/orna.jpg">'. Вот демонстрация (нажмите "запустить" до победы): http://jsfiddle.net/wared/d9wVC/.

  • 1
    Как мне использовать переменную для ввода пути к изображению? Например, для прерывателя связи мне нужно будет использовать переменные, чтобы увидеть, какое изображение выложить для связи. Будет ли это что-то вроде '<img src="images/" +choice+ ".jpg">'
  • 0
    Почти :) '<img src="images/' + choice + '.jpg">'
Показать ещё 1 комментарий
0

Не используйте document.write(). Это вредно. Вместо этого вам нужно создать <div></div> и добавить к этому материал.

Во всяком случае, причина, по которой ваши вещи не работают, у вас есть unescaped \ s. Например, если у вас есть <img src="images\orna.jpg\">, \ действуют как escape-символы и игнорируются. Ваша строка '' оценивается как '<img src="imagesorna.jpg">', что определенно не то, что вы хотите. Убедитесь, что пути к файлам верны, и если они есть, вам необходимо изменить их на

'<img src="images\\orna.jpg\\">'

Во всяком случае, создайте div, а затем с помощью jQuery или чистого Javascript добавьте к ним элементы. Вы можете сделать это, .append() к его innerHTML, или используя метод .append() jQuery

0

Я согласен с scrblndr3 в том, что document.write плохо. Прочитайте это.

Чтобы помочь вам понять, что не так, здесь немного объяснений.

Во-первых, "\" является ограничителем сегмента пути к конкретному файлу Windows. Браузеры и все, что использует UNIX, используют "/" для разделения сегментов пути. Во-вторых, в вашей строке пути вы избегаете заключительной двойной кавычки, так как ваша строка обертывается одинарными кавычками, это не нужно и ломается. Правильная команда:

document.write('<img src="images/orna.jpg">');

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

document.write("<img src=\"images/orna.jpg\">");

Ещё вопросы

Сообщество Overcoder
Наверх
Меню