Скрытый слой появляется на клик
Давно ищу и не могу найти скрипт. На клик левой кнопкой в любом месте окна появляется в определённом месте скрытый слой. При повторном клике он изчезает. Раньше я встречал такие скипты, а сейчас нет. Может кто поможет?
|
1) делаешь скрытый слой. обязательно присваеваешь слою id (к примеру, is="test")
2) добавляешь событие в код Код:
onclick="document.getElementById('test').style.display='block'" Код:
document.getElementById('test').style.display='none' вроде не соврал :) |
Спасибо за помощь. Я написал такой код:
<html> <head> <title>Скрытый блок</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT LANGUAGE="JavaScript"> <!-- function ablok() { document.getElementById('test').style.display='block'; document.getElementById('test').style.display='none' } //--> </script> </head> <body onclick="ablok()"> <div align=center id="test" style="position:absolute; top:20; left:345; width:120; height:230">Скрытый блок</div> </body></html> Блок на клик изчезает, но больше не появляется. А хочется, чтобы пропадал-появлялся, пропадал появлялся... Как можно поправить? |
а все потому, что в коде указано, что он появляется, и тут же исчезает
Код:
document.getElementById('test').style.display='block'; |
то есть, необходимо добавить проверку на то, видимый сейчас блок или нет...
|
что-то вроде того:
Код:
if (document.getElementById('test').style.display='block') |
Не появляется. Может задать переменную?
|
<html> <head> <title>Скрытый блок</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT LANGUAGE="JavaScript"> <!-- function ablok() { if (document.getElementById('test').style.display='block') {document.getElementById('test').style.display='none'} else {document.getElementById('test').style.display='block'} } //--> </script> </head> <body onclick="ablok()"> <div align=center id="test" style="position:absolute; top:20; left:345; width:120; height:230">Скрытый блок</div> </body></html> |
Для сравнения используйте "==", а не "=" (присваивание).
|
И так не работает.
<html> <head> <title>Скрытый блок</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT LANGUAGE="JavaScript"> <!-- function ablok() { var a=document.getElementById('test').style.display='block' var b=document.getElementById('test').style.display='none' var c=b if (c==a) {c=b} else {c=a} } //--> </script> </head> <body onclick="ablok()"> <div align=center id="test" style="position:absolute; top:20; left:345; width:120; height:230">Скрытый блок</div> </body></html> |
comcam,
<html> <head> <title>Скрытый блок</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT LANGUAGE="JavaScript"> <!-- function ablok() { with (document.getElementById('test').style) { if (display == "none") display = "block"; else display = "none"; } } //--> </script> </head> <body onclick="ablok()"> <div align=center id="test" style="position:absolute; top:20; left:345; width:120; height:230">Скрытый блок</div> </body></html> Это не обязательно делать через with, просто так удобнее. Никаких дополнительных переменных заводить не обязательно - сравнивать и изменять можно прямо данные элемента. Обрамляйте листинги кода в специальные bb-теги, пожалуйста. |
вот рабочий код
<html> <head> <title>Скрытый блок</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <SCRIPT LANGUAGE="JavaScript"> <!-- function ablok() { var c=document.getElementById('test'); if (c.style.display=='block') {c.style.display='none';} else {c.style.display='block';} } //--> </script> </head> <body onclick="ablok()"> <div align=center id="test" style="position:absolute; top:20; left:345; width:120; height:230">Скрытый блок</div> </body></html> |
уже написали работающий код)
|
Оба скрипта работают. Большое спа-а-сибо!!!
|
Фигасе обсуждение :)
|
Цитата:
|
Часовой пояс GMT +3, время: 08:35. |