Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 29.08.2012, 10:55
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

IDCh,
Оденьте весь код в тег
[HTML run][/HTML]

(cо скрипта BB-тег cнимите
Ответить с цитированием
  #3 (permalink)  
Старый 29.08.2012, 11:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

IDCh,
Нет прописанного свойства - в самом теге, поэтому 1-е нажатие - определяет его отсутствие
<!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 (id) { 
                var Th_Obj=document.getElementById(id);
//alert(id)
	        if (Th_Obj.style.visibility == "visible"){Th_Obj.style.visibility = "hidden"; return; }
	        else {Th_Obj.style.visibility = "visible";  return; }

	    } 
</script>


 <div id="block"   style="visibility:visible" class="blockStyle">Number One</div>

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

 </body>
</html>
Ответить с цитированием
  #4 (permalink)  
Старый 29.08.2012, 11:48
Интересующийся
Отправить личное сообщение для IDCh Посмотреть профиль Найти все сообщения от IDCh
 
Регистрация: 28.08.2012
Сообщений: 12

Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему не работает такая конструкция tavrik83 Общие вопросы Javascript 8 21.01.2012 17:43
почему не работает два автокомплита вместе mcavalon AJAX и COMET 3 23.12.2011 11:56
Почему не работает код gegege Internet Explorer 1 01.08.2011 12:14
Почему не работает JS с подгруженными в DOM элементами? V-z-z-HobboT jQuery 6 30.03.2009 14:02
почему не работает <body onload=test()> Ichigeki Общие вопросы Javascript 11 29.10.2008 13:49