Отрыть DIV блок при переходе с другой страницы
Есть скрипт, который по клику открывает/закрывает div блок(использует jquery). Как сделать так, чтобы в ссылке на эту страницу можно было указывать какой div блок открыть. Заранее спасибо.
<html lang="ru"> <head><title>Open/close</title> <meta content="text/html; charset=windows-1251" http-equiv="Content-Type"> </head> <body> <style type="text/css"> body { background-color: #FFFFFF; color: #2B4157; scrollbar-base-color: #AEC9E4; scrollbar-arrow-color: #45688B; margin-top: 20px; margin-left: 20px; margin-bottom: 20px; margin-right: 20px; } .spoiler-wrap { width: 100%; margin: 6px auto; clear: both; background: #E9E9E6; border: solid #C3CBD1; border-width: 1px 1px 1px 2px; } .spoiler-head { font-size: 12px; padding: 1px 14px 3px; margin-left: 0px; line-height: 15px; } .spoiler-body { padding: 1px 6px 2px; display: none; border-top: 1px solid #C3CBD1; background: #F5F5F5; } .clickable { cursor: pointer; } .folded, .folded2 { display: block; background: transparent url(img/icon_plu.gif) no-repeat left center; padding-left: 14px; } .unfolded, .unfolded2 { display: block; background: transparent url(img/icon_min.gif) no-repeat left center; padding-left: 14px; } </style> <script language="JavaScript" type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> <script type="text/javascript"> <!-- function initSpoilers(context) { var context = context || 'body'; $('div.spoiler-body').each( function() { var code = $(this).find('textarea').text(); if(code) $(this).html(code); }); $('div.spoiler-head', $(context)).click(function() { var code = $(this).next('div.spoiler-body').find('textarea').text(); if(code) $(this).next('div.spoiler-body').html(code); $(this).toggleClass('unfolded'); $(this).next('div.spoiler-body').slideToggle('fast'); }); } $(document).ready(function(){ initSpoilers('body'); initForums('body'); }); //--> </script> <div class="spoiler-wrap"> <div class="spoiler-head folded clickable">1</div> <div class="spoiler-body">Text<div class="clear"></div> </div><!--/spoiler-body--> </div><!--/spoiler-wrap--> <div class="spoiler-wrap"> <div class="spoiler-head folded clickable">2</div> <div class="spoiler-body">Text<div class="clear"></div> </div><!--/spoiler-body--> </div><!--/spoiler-wrap--> </body></html> |
используйте свойство window.location
парсите строку на предмет нахождения нужной вам переменной, и на основании ее открываете необходимый блок |
Может кто-то сможет, если не сложно, пример написать на основе этого скрипта?
|
function() { param=/param=([^&]*)/.exec(window.location)[1] alert(param) $("#"+param).open();//это для примера.на самом деле тут у вас должен быть ВАШ код по открытию того или иного спойлера } передаете в адресной строке что-то по типу index.php?param=qwe и открываете спойлер с id=qwe |
Спасибо большое, будем разбираться
|
забыл добавить, что в случае отстутсвия необходимой строки в адресной строке, скрипт вылетает с ошибкой.
по хорошему, разбейте первую строку скрипта на составляющие,и сделайте проверки. вариант попробще, обернуть в try-catch try { param=/param=([^&]*)/.exec(window.location)[1] alert(param) $("#"+param).open(); } catch(e){} |
Кто поможет доделать скрипт как указано?
За пиво или скромную сумму в WM или Я деньгах. |
а в чем у вас проблема-то?
что именно не получилось, применив советы из темы? PS какая она, скромная сумма по вашему мнению? PPS если нужно наисвеорешее решение задачи, то стукните мне в асю(в профиле), обсудим, сделаю |
Часовой пояс GMT +3, время: 01:55. |