Смена картинки на кнопке.
Всем привет. Устал искать как сделать, чтобы при нажатии кнопки на ней менялась картинка. Нашел пример
<img id="myImg" src="compman_lowres.gif" width="107" height="98"> <br><br> <button onclick="document.getElementById('myImg').src='5.png'">Да</button> <button onclick="document.getElementById('myImg').src='8.png'">Нет</button>, но там две кнопки, а нужно чтобы все работало от одной. При открытии страницы появилась кнопка с картинкой №1, нажал на кнопку - катанка №2 и так при каждом нажатии эти две картинки чередовались межу собой. Всем спасибо. |
III,
:-? <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .ok{ width: 100px; height: 100px; background-image: url(https://www.katrins-zoooase.de/images/Fotolia_57528839_XS_png.png); background-repeat: no-repeat; background-size: contain; } .ok:after{ content: 'Нет'; color: #FFFFFF; } .ok.cat:after{ content: 'Да'; color: #000000; } .ok.cat{ background-image: url(https://cdn2.scratch.mit.edu/get_image/gallery/326029_170x100.png); background-color: #FFFFFF; } </style> </head> <body> <button class="ok" onclick="this.classList.toggle('cat')"></button> </body> </html> |
<button> <img src=""> </button> <style> button { max-width: 300px; } img { max-width: 100%; } </style> <script> const allowedImages = [ 'https://static.tildacdn.com/tild3739-3339-4864-b734-386336353235/20143010160217.jpg', 'https://static.ngs.ru/news/99/preview/6c6786496a5b02d55635825ce30ad55800531fc0_824_549_c.jpg', 'https://cs8.pikabu.ru/post_img/big/2016/12/28/1/1482881197192578721.jpg', ]; let currentImageIndex = -1; const button = document.querySelector('button'); button.addEventListener('click', function () { this.querySelector('img').src = allowedImages[++currentImageIndex % allowedImages.length]; }); button.dispatchEvent(new Event('click')); </script> |
Всем спасибо за быстрый ответ! Сейчас попробую у себя сделать. Только вот проблема с кодом Nexus, при открытии файла в IE, вперёд появляется пустая (без картинки) кнопка, после первого нажатия появляется первый рисунок, потом 2-ой ну и так далее. В Chrome Edge такой проблемы нет. С вариантом рони таких проблем нет во всех 3-х браузерах.
|
Часовой пояс GMT +3, время: 12:15. |