Отрыть 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, время: 15:22. |