Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрытие/ Открытие блока DIV по нажатию на PNG картинку (https://javascript.ru/forum/misc/68508-skrytie-otkrytie-bloka-div-po-nazhatiyu-na-png-kartinku.html)

dunakov 20.04.2017 20:02

Скрытие/ Открытие блока DIV по нажатию на PNG картинку
 
Есть блок DIV с текстом и своим CSS. Вот в этой теме похожее обсуждалось http://javascript.ru/forum/misc/2238...akryt-ego.html

Но реально сделать вот так. Блока сразу нет, но есть PNG картинка, по клику на которую открывается блок, А картинка пропадает.

рони 20.04.2017 20:21

dunakov,
для этого даже js не нужен.

Nexus 20.04.2017 21:14

Цитата:

Сообщение от рони (Сообщение 450469)
dunakov,
для этого даже js не нужен.

img:focus?
Другой вариант без использования JS не могу представить.

рони 20.04.2017 21:50

Цитата:

Сообщение от Nexus
Другой вариант без использования JS

:checked + img

dunakov 20.04.2017 22:09

А JQuery toggle ?

И суть в том, что по клику на картинку , картинка пропадает, но появляется Div

Nexus 20.04.2017 22:17

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div class="wrapper">
	<img onclick="$(this).hide().parents('.wrapper').find('.hidden').show();" alt="Image"/>
	<div class="hidden" style="display:none;">Hidden content</div>
</div>

Nexus 20.04.2017 22:26

Или решение Рони без js (https://jsfiddle.net/ydw9owgv/):
<style>
.wrapper .hidden,.wrapper input,.wrapper input:checked~label{
  display:none;
}
.wrapper input:checked~.hidden{
  display:block;
}
</style>
<div class="wrapper">
  <input type="checkbox" id="checkbox-1"/>
  <label for="checkbox-1"><img alt="Image"/></label>
	<div class="hidden">Hidden content</div>
</div>

рони 20.04.2017 22:34

dunakov,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    .wrapper .hide, .wrapper  :checked + label img, .wrapper input{
      display:  none;
    }
    .wrapper  :checked ~ .hide {
      display: block;
    }

  </style>

</head>

<body>

<div class="wrapper">
  <input id="mic" name="" type="checkbox">
  <label for="mic"><img  src="http://im.haberturk.com/2013/02/06/ver1360145679/817721_detay.jpg" alt="Image" /></label>
  <div class="hide">
  <label for="mic"><img  src="http://blagoveshensk.bezformata.ru/content/image62720071.jpg" alt="Image" /></label>
  Hidden content</div>
</div>


</body>
</html>

рони 20.04.2017 22:37

Nexus,
[HTML  run]тут ваш код[/HTML]

Nexus 20.04.2017 22:43

Цитата:

Сообщение от рони (Сообщение 450496)
Nexus,
[HTML  run]тут ваш код[/HTML]

Спасибо за информацию.

<!DOCTYPE html> 
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    .wrapper .hide,.wrapper :checked+img,.wrapper input{
		display:none;
    }
    .wrapper :checked~.hide{
		display:block;
    }
  </style>
</head>
<body>

<div class="wrapper">
	<label>
		<input type="checkbox"/>
		<img src="http://im.haberturk.com/2013/02/06/ver1360145679/817721_detay.jpg" alt="Image" />
		<div class="hide">
			<img  src="http://blagoveshensk.bezformata.ru/content/image62720071.jpg" alt="Image" />
			Hidden content
		</div>
	</label>
</div>
 
</body>
</html>

dunakov 21.04.2017 00:21

Сделал через Js

<script>
			function hideOf(){
				$('.hideOf').toggle();
			};
		</script>
		<script>
			function hideOf1(){
				$('.hideOf1').toggle();
			};
		</script>
		<script>
			function hideOf2(){
				$('.hideOf2').toggle();
			};
		</script>



И кнопочки

<button value ="clickBlock1" onclick="hideOf()"><img src="menu/button-6112.png" width="100" height="100"    alt="1"> </button>
			<button value ="clickBlock2" onclick="hideOf1()"><img src="menu/button-8819.png" width="100" height="100"   alt="1"> </button>
			<button value ="clickBlock3" onclick="hideOf2()"><img src="menu/button-82730.png" width="100" height="100"  alt="1"> </button>


Но теперь нужно как то сделать, чтобы по клику кнопки пропадали

Nexus 22.04.2017 10:31

Цитата:

Сообщение от dunakov (Сообщение 450512)
Сделал через Js
Но теперь нужно как то сделать, чтобы по клику кнопки пропадали

Может так?
Только зачем юзать toggle, если повторно нажать на кнопку просто не сможешь?
<button value="clickBlock1" onclick="$(this).hide();$('.hideOf').toggle();">
	<img src="menu/button-6112.png" width="100" height="100" alt="1"/>
</button>
<button value="clickBlock2" onclick="$(this).hide();$('.hideOf1').toggle();">
	<img src="menu/button-8819.png" width="100" height="100" alt="1"/>
</button>
<button value="clickBlock3" onclick="$(this).hide();$('.hideOf2').toggle();">
	<img src="menu/button-82730.png" width="100" height="100" alt="1"/>
</button>


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