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

HTML+CSS+JavaScript

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

 

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

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

тема: не показывается элемент :(
 
 автор: victoor   (17.10.2006 в 14:37)   письмо автору
 
 

есть код:
<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Новая страница 1</title>
</head>

<body>
1<br>2<br>3<br>
<table border="1" width="100%" id="table1">
    <tr>
        <td id="menu1" width=100 height=30>Меню 1</td>
        <td id="menu2"><div onmouseover="menu_2.display='block'" onmouseout="menu_2.display='none'">Меню 2</div></td>    
                          <td id="menu3">Меню 3</td>
        <td id="menu4">Меню 4</td>
    </tr>
</table>
<script>
       document.write('<table style="POSITION: absolute; LEFT: '+(menu1.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">');
</script>        
          <tr><td>Состав</td></tr>
          <tr><td>Устав</td></tr>
          <tr><td>Легенда</td></tr>
        </table>

<script>
       document.write('<table id="menu_2" style="POSITION: absolute; LEFT: '+(menu2.offsetLeft+11)+'px; BACKGROUND: #7da6ee; display: none ">');
</script>        
          <tr><td>Состав</td></tr>
          <tr><td>Устав</td></tr>
          <tr><td>Легенда</td></tr>
        </table>

<script>
       document.write('<table style="POSITION: absolute; LEFT: '+(menu3.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">');
</script>        
          <tr><td>Состав</td></tr>
          <tr><td>Устав</td></tr>
          <tr><td>Легенда</td></tr>
        </table>
<script>
       document.write('<table style="POSITION: absolute; LEFT: '+(menu4.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">');
</script>        
          <tr><td>Состав</td></tr>
          <tr><td>Устав</td></tr>
          <tr><td>Легенда</td></tr>
        </table>
width=100 height=30
</body>
</html>

По идее при наведении на ячейку "Меню 2" табличка с id="menu_2" должна проявляться, при уходе мыши - прятаться.
но почему-то не работает... ошибок никаких не выводит...
Как это исправить?
этот же файл во вложении висит

столько выскакивающих окошек для тестинга висит =)

   
 
 автор: SHAman   (17.10.2006 в 17:24)   письмо автору
 
   для: victoor   (17.10.2006 в 14:37)
 

может, забыл document, all, style?

document.menu_2.style.display='none';

   
 
 автор: victoor   (17.10.2006 в 19:15)   письмо автору
 
   для: SHAman   (17.10.2006 в 17:24)
 

если так сделать, то выводит ошибку:
"document.menu_2.style" - есть NULL или не является обьектом. :(

   
 
 автор: SHAman   (18.10.2006 в 12:53)   письмо автору
 
   для: victoor   (17.10.2006 в 19:15)
 

У меня все работает. Вот полный листинг:


<html> 
<head> 
<meta http-equiv="Content-Language" content="ru"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> 
<title>Новая страница 1</title> 
<script>var d=document;</script>
</head> 

<body> 
<table border="1" width="100%" id="table1"> 
    <tr> 
        <td id="menu1" width=100 height=30>Меню 1</td> 
        <td id="menu2"><div onmouseover="d.all.menu_2.style.display='block'" onmouseout="d.all.menu_2.style.display='none'">Меню 2</div></td>     
                          <td id="menu3">Меню 3</td> 
        <td id="menu4">Меню 4</td> 
    </tr> 
</table> 
<script> 
       document.write('<table style="POSITION: absolute; LEFT: '+(menu1.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">'); 
</script>         
          <tr><td>Состав</td></tr> 
          <tr><td>Устав</td></tr> 
          <tr><td>Легенда</td></tr> 
        </table> 

<script> 
       document.write('<table id="menu_2" style="POSITION: absolute; LEFT: '+(menu2.offsetLeft+11)+'px; BACKGROUND: #7da6ee; display: none ">'); 
</script>         
          <tr><td>Состав</td></tr> 
          <tr><td>Устав</td></tr> 
          <tr><td>Легенда</td></tr> 
        </table> 
<script> 
       document.write('<table style="POSITION: absolute; LEFT: '+(menu3.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">'); 
</script>         
          <tr><td>Состав</td></tr> 
          <tr><td>Устав</td></tr> 
          <tr><td>Легенда</td></tr> 
        </table> 
<script> 
       document.write('<table style="POSITION: absolute; LEFT: '+(menu4.offsetLeft+11)+'px; BACKGROUND: #7da6ee;z-index:1">'); 
</script>         
          <tr><td>Состав</td></tr> 
          <tr><td>Устав</td></tr> 
          <tr><td>Легенда</td></tr> 
        </table> 
</body> 
</html> 


Только тебя ждет сюрприз: менюшка-то показывается. Но когда ты пытаешься на нее навести курсор - она скрывается, потому что ты его(курсор) отводишь с заветной ячейки. То есть, нужно делать флаг какой-то, значение которого будет проверяться до скрытия менюшки.

   
 
 автор: victoor   (18.10.2006 в 14:39)   письмо автору
 
   для: SHAman   (18.10.2006 в 12:53)
 

Спасибо, заработало!

>Только тебя ждет сюрприз: менюшка-то показывается. Но когда ты пытаешься на нее навести курсор - она скрывается, потому что ты его(курсор) отводишь с заветной ячейки. То есть, нужно делать флаг какой-то, значение которого будет проверяться до скрытия менюшки.
Это сделаю, просто какое смысл был делать эти флаги, если мне не удавалось сделать так, чтобы менюшка появлялась =)

   
Rambler's Top100
вверх

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