Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Скрыть картинку при клике (https://javascript.ru/forum/dom-window/76601-skryt-kartinku-pri-klike.html)

egor8 25.01.2019 14:25

Скрыть картинку при клике
 
Есть картинка, при клике по ней разворачивается меню, меню показалось с телефоном, а картинка чтоб исчезла.

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>меню по клику</title>

<style>
/*	Menu click on the image
-------------------------------------------*/
.dropbtn {cursor: pointer;}
.dropbtn:hover, .dropbtn:focus {background-color: #5b5b5b;}
.dropdown {position: relative; display: inline-block;}
.dropcontent {display: none; /* position: absolute; */ background-color: #f1f1f1; width: 100%; overflow: auto; z-index: 1;}
.dropcontent a {color: black; padding: 12px 16px; text-decoration: none; display: block;}
.show {display: block;}
/*
.dropdown a:hover {background-color: #ddd;}
*/
</style>
</head>
<body>

<h2>Выпадающее меню, клик по картинке</h2><br>

<div class="dropdown">
<div id="leftFit"><img src="http://stroildom.ru/wp-content/uploads/2019/01/telefon.png" onclick="myFunction()" class="dropbtn"></div>

<div id="myDropdown" class="dropcontent">
	<a href="callto:+73412000000"><span>+7(3412) 00 00 00</span></a>
  </div>
</div>

<script>
/* When the user clicks on the button, toggle between hiding and showing the dropdown content */
function myFunction() {
    document.getElementById("myDropdown").classList.toggle("show");
  	
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event) {
  if (!event.target.matches('.dropbtn')) {
    var dropdowns = document.getElementsByClassName("dropcontent");
    var i;
    for (i = 0; i < dropdowns.length; i++) {
      var openDropdown = dropdowns[i];
      if (openDropdown.classList.contains('show')) {
        openDropdown.classList.remove('show');
		
		
      }
    }
  }
}

</script>

</body>
</html>

egor8 25.01.2019 14:27

Нужно написать видимо, типа:
$("#leftFit").hide()

только куда вставить

Malleys 25.01.2019 15:01

Вы можете использовать для этого псевдо-класс focus (вы уже использовали)
<button class="my-dropdown" data-icon="&#128222;">
	<a href="callto:+73412000000">+7(3412) 00 00 00</a>
</button>

<style>
	
.my-dropdown {
	all: unset;
	display: inline-block;
	position: relative;
}
.my-dropdown:hover::before,
.my-dropdown:focus::before {
	color: gold;
}
.my-dropdown::before {
	content: attr(data-icon);
	font-size: 300%;
	color: burlywood; /* для не цветных эмодзи */
}
.my-dropdown a {
	display: none;
	position: absolute;
	background-color: #f1f1f1;
	padding: 1em;
	left: 0;
	color: black;
	text-decoration: none;
	width: max-content;
}
.my-dropdown:focus a {
	display: initial;
}
	
</style>


На самом деле можно и так в HTML написать

<button class="my-dropdown" data-icon="📞">


Часовой пояс GMT +3, время: 12:31.