Скрытый слой появляется на клик
Давно ищу и не могу найти скрипт. На клик левой кнопкой в любом месте окна появляется в определённом месте скрытый слой. При повторном клике он изчезает. Раньше я встречал такие скипты, а сейчас нет. Может кто поможет?
|
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, время: 19:21. |