Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Несколько div блоков. Переключение по нажатии на соответствующую ссылку. (https://javascript.ru/forum/dom-window/11973-neskolko-div-blokov-pereklyuchenie-po-nazhatii-na-sootvetstvuyushhuyu-ssylku.html)

Help$ 23.09.2010 22:42

Несколько div блоков. Переключение по нажатии на соответствующую ссылку.
 
Привет, мастера :)
Не знаю принято ли здесь задавать вопросы людям, которые вообще не знают JavaScript, но у меня идея есть, а реализация хромает.

Несколько div'ов, сверху ссылки, соответствующие каждому из них, по умолчанию открыт первый див, нажав на вторую ссылку первый скрывается, открывается второй..

Бесплатную помощь, естественно, с удоволствием приму, но так как я полный ноль, вероятно, надо будет заплатить за работу, поможете?

icq 990335 - с финансовыми вопросами сюда.. Надеюсь, правил не нарушил..

Slawaq 23.09.2010 23:24

<!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" xml:lang="en" lang="en">

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<meta name="author" content="Slawaq" />

	<title>Неназванный 1</title>
</head>
<style>
#dv1,#dv2,#dv3{width:50px;margin:20px;height:20px;float:left}
#d1,#d2,#d3{width:30px;height:10px}
</style>
<body>

<div id="dv1"><a href="#" onclick="showDv('1')">link1</a><div style="background: aqua;visibility: visible;" id="d1"></div></div>
<div id="dv2"><a href="#" onclick="showDv('2')">link2</a><div style="background: red;visibility: hidden;" id="d2"></div></div>
<div id="dv3"><a href="#" onclick="showDv('3')">link3</a><div style="background: blue;visibility: hidden;" id="d3"></div></div>
<script type="text/javascript">
allDiv=3;
function showDv(n){
    for(i=1;allDiv+1>i;i++){
    document.getElementById('d'+i).style.visibility = 'hidden';
    }
    document.getElementById('d'+n).style.visibility = 'visible';
}
</script>
</body>
</html>

может не сильно кратко)

p.s.: ICQ нету, так что и не возникали финансовые вопросы))

Help$ 24.09.2010 18:54

Спасибо Вам огромное! :)

Надеюсь, еще кому-то поможет, ведь подобные вопросы без ответов частенько встречал.

Help$ 24.09.2010 23:43

Думал все супер, оказалось есть малюсенькая проблемка: div невидим, но место занимает, а надо, чтобы один див скрывался и НА ЕГО место вставал второй.. что поменять? :)

Slawaq 25.09.2010 00:01

<!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" xml:lang="en" lang="en">

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
	<meta name="author" content="Slawaq" />

	<title>Неназванный 1</title>
</head>
<style>
#dv1,#dv2,#dv3{width:50px;margin:20px;height:20px;float:left}
#d1,#d2,#d3{width:30px;height:10px;float:none}
</style>
<body>

<div id="dv1"><a href="#" onclick="showDv('1')">link1</a><div style="background: aqua;display:block;" id="d1"></div><div>1</div></div>
<div id="dv2"><a href="#" onclick="showDv('2')">link2</a><div style="background: red;display:none;" id="d2"></div><div>2</div></div>
<div id="dv3"><a href="#" onclick="showDv('3')">link3</a><div style="background: blue;display: none;" id="d3"></div><div>3</div></div>
<script type="text/javascript">
allDiv=3;
function showDv(n){
    for(i=1;allDiv+1>i;i++){
    document.getElementById('d'+i).style.display = 'none';
    }
    document.getElementById('d'+n).style.display = 'block';
}
</script>
</body>
</html>


Часовой пояс GMT +3, время: 06:50.