Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с JavaScript
 
 автор: Jaroslav   (19.02.2009 в 20:01)   письмо автору
 
 

Есть такой код.



<html>
<head>
<script>
var OBJ;

function myFunc (x)
{
var t = document.getElementById (x);
if (OBJ != t)
   {
   if (OBJ) OBJ.style.display = 'none';
   t.style.display = 'block';
   OBJ = t;
   }
//********
else {t.style.display = 'none'; OBJ = null}
//********
}
</script>
</head>
<body>


<a href=”#1” onclick="myFunc ('TBL_1'); return false">Таблица 1</a>
<a href=”#2” onclick="myFunc ('TBL_2'); return false">Таблица 2</a>
<a href=”#3” onclick="myFunc ('TBL_3'); return false">Таблица 3</a>

<!—при нажатии на ссылку #1 -->
<table id="TBL_1" style="display: none">
<tr><td>ывап</td></tr>
</table>
<!—при нажатии на ссылку #1 -->


<!—при нажатии на ссылку #2 -->
<table id="TBL_2" style="display: none">
<tr><td>вап</td></tr>
</table>
<!—при нажатии на ссылку #2 -->


<!—при нажатии на ссылку #3 -->
<table id="TBL_3" style="display: none">
<tr><td>цук</td></tr>
</table>
<!—при нажатии на ссылку #3 -->


</body>
</html>




при нажатии на ссылку появляется содержимое таблицы, при повторном нажатии на неё - скрытие. Подскажите, пожалуйста, как доработать javascript так, чтобы скрытие контента происходило не только при нажатии по ссылке, а при нажатии на любую точку экрана?

  Ответить  
 
 автор: PAT   (19.02.2009 в 23:37)   письмо автору
 
   для: Jaroslav   (19.02.2009 в 20:01)
 

<head>
<style>
html, body {height: 100%}
</style>

<script>
var OBJ;

function myFunc (x)
{
var t = document.getElementById (x);
if (OBJ != t)
   {
   if (OBJ) OBJ.style.display = 'none';
   t.style.display = 'block';
   OBJ = t;
   document.body.onclick = myFunc2;
   }
//********
else {t.style.display = 'none'; OBJ = null; document.body.onclick = ''}
//********
}

function myFunc2 (x)
{
var y = x || event, z = y.target || y.srcElement;
if (z.className != 'abc')
   {OBJ.style.display = 'none'; OBJ = null; document.body.onclick = ''}
}

</script>
</head>
<body>

<a href="#1" class="abc" onclick="myFunc ('TBL_1'); return false">Таблица 1</a>
<a href="#2" class="abc" onclick="myFunc ('TBL_2'); return false">Таблица 2</a>
<a href="#3" class="abc" onclick="myFunc ('TBL_3'); return false">Таблица 3</a>

Всё остальное - без изменений

PS. Никаких правил CSS для класса abc СПЕЦИАЛЬНО прописывать в стилях не нужно - наличие класса abc у трёх тегов <A> необходимо только для скрипта. Но можете и прописать - если это окажется нужным вам для оформления страницы.

  Ответить  
 
 автор: Jaroslav   (20.02.2009 в 09:23)   письмо автору
 
   для: PAT   (19.02.2009 в 23:37)
 

Большое спасибо!
Как раз то, что надо! :)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования