Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Яваскрипт для изменения контента (https://javascript.ru/forum/misc/18088-yavaskript-dlya-izmeneniya-kontenta.html)

sufokol 16.06.2011 12:45

Яваскрипт для изменения контента
 
Все привет! Помогите разобраться - вообще зашел в тупик и ничего не могу сделать
есть шапка с 4 дивами
<div id="1" class="active">Текст 1</div>
<div id="2" class="noactive">Текст 2</div>
<div id="3" class="noactive">Текст 3</div>
<div id="4" class="noactive">Текст 4</div>

и есть 4 блока на странице
<div id="user_1" class="block-shown">Текст 1</div>
<div id="user_2" class="block-hidden">Текст 2</div>
<div id="user_3" class="block-hidden">Текст 3</div>
<div id="user_4" class="block-hidden">Текст 4</div>


Идея какова - захожу на страницу, активен сразу становиться первый див, и соответственно виден первый блок

при клике на второй див, надо чтобы он стал активным, и вывелся второй блок, а первый исчез...и т.д. с 3 и 4 дивами

Как быть, подскажите...я ещё плаваю в скриптах:-?
Заранее благодарю

9xakep 16.06.2011 13:16

Как тут многие говорят,это скрипт с нуля,а то есть за деньги...либо пишите сами вам и походу помогут,или обращайтесь в раздел работа.

ksa 16.06.2011 13:23

Цитата:

Сообщение от sufokol
Как быть, подскажите..

Хтмл разметку можно менять? Добавлять теги... Делать атрибуты...

sufokol 16.06.2011 13:25

да мне идея нужна - я то напишу...я просто идею не могу понять
Вот смотри
для шапки я пишу через jquery
$(function(){
   $('div.noactive').click(function(){
      $('div.active').removeClass('active').addClass('noactive');
      $('div.active').removeClass('active').addClass('noactive');
      $(this).toggleClass('noactive').toggleClass('active');
	  });
});

но он не работает для первого дива - он делает его неактивным, а активным не хочет:(

ksa 16.06.2011 13:43

Цитата:

Сообщение от sufokol
да мне идея нужна

Так идея-то не сложная... :D

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
.active {
	border: 1px solid;
}
.block-hidden {
	display: none;
}
</style>
<script type="text/javascript">
function Go(Obj) {
	var o,ob
	var i=1
	while (document.getElementById(i)) {
		o=document.getElementById(i)
		o.className=(o==Obj)? 'active': 'noactive'
		document.getElementById('user_'+i).className=(o==Obj)? 'block-shown': 'block-hidden'
		i++
	}
}
</script>
</head>
<body>
<div id="1" onclick='Go(this)' class="active">Пункт 1</div>
<div id="2" onclick='Go(this)' class="noactive">Пункт 2</div>
<div id="3" onclick='Go(this)' class="noactive">Пункт 3</div>
<div id="4" onclick='Go(this)' class="noactive">Пункт 4</div>
<div id="user_1" class="block-shown">Текст 1</div>
<div id="user_2" class="block-hidden">Текст 2</div>
<div id="user_3" class="block-hidden">Текст 3</div>
<div id="user_4" class="block-hidden">Текст 4</div>
</body>
</html>

sufokol 16.06.2011 13:53

Спасибо, теперь понял как надо было))


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