Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрытые блоки (https://javascript.ru/forum/misc/14379-skrytye-bloki.html)

lord13 13.01.2011 14:35

Скрытые блоки
 
есть на странице несколько скрытых блоков которые имеют вид
Код:

<ul class="contact-links">
  <li class="ccoz">
      <a class="clp" href="#">Нажать для отображения</a><br />
      <div class="clbb ccozc">Скрытый текст</div>
  </li>
  <li class="cobs">
      <a class="clp" href="#">Нажать для отображения</a><br />
      <div class="clbb cobsc">Скрытый текст</div>
  </li>
</ul>

а вот что с ними происходит:
var allaclp = $('#supwrap ul.contact-links a.clp');
$(allaclp).click(function () {
	if($(this).parent('li').is('.clvc')) {
		$(allaclp).parent('li').removeClass('clvc');
		$('#show-recv').hide();
	}
	else {
		$(allaclp).parent('li').removeClass('clvc');
		$(this).parent('li').addClass('clvc');
		if($('li.clvc').length){$('#show-recv').show();} else {$('#show-recv').hide();}
	}
	return false;
});


как открывать тот или иной блок через адресною строку? к примеру на какой то другой странице сайта есть ссылка которая должна вести на страницу с блоками и уже открытым определенным блоком?
Хелп.

ksa 13.01.2011 16:30

Рассказ конечно ппц... :D

Если я его правильно понял... Как вариант:
- Передавай в ссылке какой-либо параметр
- Серверным языком читай его из реквеста
- Опираясь на него, расставляй нужные классы у "блоков"

Пример на csp...

<script language='Cache' runat='Server'>
   s type=$g(%request.Data("type",1))
</scropt>
...
<ul class="contact-links">
   <li class="ccoz">
       <a class="clp" href="#">Нажать для отображения</a><br />
       <div class='#($s(type=1:"on",1:"off"))#'>Скрытый текст</div>
   </li>
   <li class="cobs">
       <a class="clp" href="#">Нажать для отображения</a><br />
       <div class='#($s(type=2:"on",1:"off"))#'>Скрытый текст</div>
   </li>
</ul>

Aetae 13.01.2011 21:18

Ну или если оч надо без сервера то, делаешь ссылки с хэшем
test.ru#block1&block2
а на принимающей странице, что-то типа:
if(location.hash) {
 var open=location.hash.slice(1).split('&'),i=open.length;
 while(i--){
  //код открывающей по порядку блоки
 }
}

lord13 24.01.2011 14:12

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

Aetae
То есть что то типа:
if(location.hash) {
	 var open=location.hash.slice(1).split('&'),i=open.length;
	 while(i--){
	  <ul class="contact-links">
	   <li class="ccoz">
	       <a class="clp" href="#">Нажать для отображения</a><br />
	       <div class='#($s(type=1:"on",1:"off"))#'>Скрытый текст</div>
	   </li>
	   <li class="cobs">
	       <a class="clp" href="#">Нажать для отображения</a><br />
	       <div class='#($s(type=2:"on",1:"off"))#'>Скрытый текст</div>
	   </li>
	</ul>
	 }
	}


а ссылка для открытия test.ru#block1&block2

извините если что, несилен!


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