Как заставить кнопку отображать определенную картинку? - PullRequest
0 голосов
/ 03 марта 2019

Привет всем, кого я знаю, этот вопрос задавался вне времени, но я - новичок в HTML, CSS и Javascript.Я буквально на четвертый день самообучения программированию, поэтому, пожалуйста, прости меня.

Я хочу протестировать страницу, на которой при нажатии на кнопку будет отображаться картинка, если вы нажмете другую кнопкуон будет отображать другую картинку.Вот что я получил до сих пор, что будет дальше и почему?Спасибо!

<!doctype html>
<html>
<head>
<title> Just Two Buttons </title>
</head>
<body>
<h1><center> Pick a button! </center></h1>
<img id="dog" src="https://i.ibb.co/x24nhsc/dog-image.jpg" style="display:none;>
<img id="cat" src="https://i.ibb.co/CsGsxJ5/cat-217679.jpg">
<button> Woof! </button>
<button> Meow! </button>
<script> 
</body>
</html>

1 Ответ

0 голосов
/ 03 марта 2019

Есть много способов достичь этого.В приведенном ниже решении используется onclick в сочетании с data-*, чтобы указать, какое изображение кнопка должна показать или скрыть.Кроме того, для видимости требуется, чтобы класс CSS «видимый» отображался (старайтесь избегать стилизации непосредственно для атрибута style).

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

Чтобы получить кнопку, которую мы нажали, this передаетсяфункция в onclick=myclick(this).Это означает, что мы можем получить доступ к атрибутам нажатых кнопок, в частности к data-href="dog".К этому обращаются как element.dataset.href.

var dog = document.getElementById("dog");
var cat = document.getElementById("cat");

function myclick(element) {
    dog.classList.remove("visible");
    cat.classList.remove("visible");
    document.getElementById(element.dataset.href).classList.add("visible");
}
.myimage {
    display: none;
}

.visible {
    display: block;
}
<!doctype html>
<html>
    <head>
        <title> Just Two Buttons </title>
    </head>
    <body>
        <h1><center> Pick a button! </center></h1>
        <img class="myimage" id="dog" src="https://i.ibb.co/x24nhsc/dog-image.jpg">
        <img class="myimage visible" id="cat" src="https://i.ibb.co/CsGsxJ5/cat-217679.jpg">
        <button onclick="myclick(this)" data-href="dog"> Woof! </button>
        <button onclick="myclick(this)" data-href="cat"> Meow! </button>
    </body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...