|
|
|
| Здравствуйте форумчане.
Вот собственно код страницы с этим самым меню. Всё работает, но таких меню нужно несколько... Как передать параметр функциям show_in() и close_in(), точнее как передать параметр при их рекурсивном вызове функцией setTimeout? Параметром должен являться id скрываемого/раскрываемого элемента.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script type="text/javascript">
var pos = 10;
function menu_in () {
var he = document.getElementById('menus').style.height;
if (he < "300px") {
show_in();
}
else {
close_in();
}
}
function show_in() {
he = document.getElementById('menus').style.height = pos+'px';
pos += 5;
if (pos < 305) {setTimeout("show_in()", 15);}
}
function close_in() {
he = document.getElementById('menus').style.height = pos+'px';
pos -= 5;
if (pos > 10) {setTimeout("close_in()", 15);}
}
</script>
</head>
<body>
<a href="#" onclick="menu_in();">Open</a>
<br />
<div id="menus" style="width:170px; height:10px; background-color:#FFFFFF; overflow:hidden;">
<br /><br />
CPU и платформа<br />
Видеокарты<br />
HDD и накопители<br />
Комплектующие<br />
Мониторы<br />
Звук и видео на ПК<br />
Ноутбуки<br />
Компьютеры, серверы<br />
Принтеры и МФУ<br />
Периферия<br />
Фото и видео<br />
Бизнес
</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: new_user
(03.12.2008 в 13:49)
| |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script type="text/javascript">
function menu_in(id, height){
id_ = id;
height_ = height;
he = parseInt(document.getElementById(id_).style.height);
if(he < height){
show_in();
}else{
close_in();
}
}
function show_in(){
he += 5;
document.getElementById(id_).style.height = he + 'px';
if(he < height_ + 5){
setTimeout('show_in()', 15);
}
}
function close_in(){
he -= 5;
document.getElementById(id_).style.height = he + 'px';
if (he > 0){
setTimeout('close_in()', 15);
}
}
</script>
</head>
<body>
<a href="#" onclick="menu_in('menus1', 120);">menus1</a> <br />
<div id="menus1" style="width:170px; height:0px; background-color: #99CCFF; overflow:hidden;"> CPU и платформа<br />
Видеокарты<br />
HDD и накопители<br />
Комплектующие<br />
Мониторы<br />
Звук и видео на ПК</div>
<a href="#" onclick="menu_in('menus2', 80);">menus2</a> <br />
<div id="menus2" style="width:170px; height:0px; background-color:#00FF99; overflow:hidden;"> CPU и платформа<br />
Видеокарты<br />
HDD и накопители<br />
Комплектующие</div>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: mikha
(03.12.2008 в 15:13)
| | Огромное спасибо!!! | |
|
|
|