Показать сообщение отдельно
  #1 (permalink)  
Старый 29.08.2012, 10:53
Интересующийся
Отправить личное сообщение для IDCh Посмотреть профиль Найти все сообщения от IDCh
 
Регистрация: 28.08.2012
Сообщений: 12

Почему-то исчезание работает со второго нажатия.
Сделал простенький тест на исчезание.
Почему-то лишь со второго нажатия исчезает.
Я подозреваю, что срабатывает else и сначала присваивается visible. Но как так? Я же назначил в css visible: hidden в самом начале. теоретически все должно сразу же срабатывать.
Вот код:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Тег IFRAME</title>
 </head>
 <body>

 <style>
.blockStyle {
	position: relative;
	visibility: visible;
}
.buttons {
	position: relative;
}
 </style>

<script type="text/javascript">
 	function changeVis (OBJ) {
 		if (OBJ.style.visibility == "visible")
 		{
 			OBJ.style.visibility = "hidden";
 		}else{
 			OBJ.style.visibility = "visible";
 		}
 	}
 </script>

 <div id="block" class="blockStyle">Number One</div>

 <input class="buttons" type="button" value="Button" onClick='changeVis(block)'>

 </body>
</html>


Я подозреваю, в <style> вообще ничего не является "первоначальным присваиванием". Скрипт даже style.left выдает "" а не 1px, если, к примеру, указать это.

Последний раз редактировалось IDCh, 29.08.2012 в 11:03.
Ответить с цитированием