@3vgeny90

Чтобы при клике на картинку отобразился ранее скрытый(display:none) текст, как?

Продолжаю осваивать js, подскажите пожалуйста

Вот например если условие выполняется, то выводится картинка inner.html
Как сделать чтобы на неё можно было кликнуть и при клике отобразился ранее скрытый блок, например с текстом?

Пробую так:
js:
var a=0;
if (a==0) {
document.getElementById('primer').innerHTML = "<img src=\"https://i.ibb.co/PGFLFRZ/ris1.png" +  "\" /> ";

document.getElementById('primer2').innerHTML = "<img src=\"https://i.ibb.co/PGFLFRZ/ris1.png" +  "\" /> ";
}
function showtext() {
document.getElementById('text').style.display = "block";
}


html:
<div id="primer" onchange="showtext()">&nbsp;</div>
<div id="primer2" onclick="showtext()">&nbsp;</div>
<div id="text" style="display: none;">ТЕКСТ ТЕКСТ ТЕКСТ</div>


Не получается =(
https://jsfiddle.net/9hjb5w8r/
  • Вопрос задан
  • 1147 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
Воть
Надеюсь, поможет.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
fallus
@fallus
В общем, в этот вашем jsfiddle.net (и в ваших интернетах в принципе), в окне javascript, слева-вверху есть опции «JavaScript + No-Library (pure JS)».
Там стоит Load Type - On load или On DOM ready.

Это значит, что весь JS, который написан в этом окне, находится внутри функции.
Что-то вроде этого:
window.addEventListener('load', function(){
// ваш код
})


И так как вы объявляете функцию showtext внутри другой функции, ваша функция является локальной — её не видно извне.

Решения два(или шесть, не уверен):
1. Вместо атрибута onclick(onchange не работает на div'ах), вы можете написать в JS-код это:
document.getElementById('primer2').addEventListener('click', showtext)

2. Вверху-справа, в опциях LOAD TYPE выбрать Nowrap - bottom of <body> (эти типо расположит весь JS в самом конце содержимого body, без обёртывания в анонимную функцию)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы