Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.03.2020, 13:25
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 80

Смена картинки на кнопке.
Всем привет. Устал искать как сделать, чтобы при нажатии кнопки на ней менялась картинка. Нашел пример
<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 и так при каждом нажатии эти две картинки чередовались межу собой.
Всем спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2020, 13:47
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,120

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>
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2020, 13:48
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,793

<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>
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2020, 14:02
III III вне форума
Аспирант
Отправить личное сообщение для III Посмотреть профиль Найти все сообщения от III
 
Регистрация: 08.10.2014
Сообщений: 80

Всем спасибо за быстрый ответ! Сейчас попробую у себя сделать. Только вот проблема с кодом Nexus, при открытии файла в IE, вперёд появляется пустая (без картинки) кнопка, после первого нажатия появляется первый рисунок, потом 2-ой ну и так далее. В Chrome Edge такой проблемы нет. С вариантом рони таких проблем нет во всех 3-х браузерах.

Последний раз редактировалось III, 03.03.2020 в 08:37.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что-то не работает: смена картинки по клику. pro_moscow Элементы интерфейса 4 05.08.2016 05:01
Смена картинки при нажатии на маленькие картинки comb Элементы интерфейса 4 23.03.2015 01:08
Смена картинки при обновлении страницы rafaello Events/DOM/Window 3 24.04.2014 23:26
Смена картинки по времени Gwin jQuery 4 16.02.2014 20:02
Смена картинки при наведении курсора Heidel jQuery 1 06.11.2012 22:03