Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.03.2009, 18:10
Новичок на форуме
Отправить личное сообщение для BuTbka Посмотреть профиль Найти все сообщения от BuTbka
 
Регистрация: 08.03.2009
Сообщений: 4

Отрыть 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>
Ответить с цитированием
  #2 (permalink)  
Старый 08.03.2009, 19:27
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

используйте свойство window.location
парсите строку на предмет нахождения нужной вам переменной, и на основании ее открываете необходимый блок
Ответить с цитированием
  #3 (permalink)  
Старый 08.03.2009, 20:35
Новичок на форуме
Отправить личное сообщение для BuTbka Посмотреть профиль Найти все сообщения от BuTbka
 
Регистрация: 08.03.2009
Сообщений: 4

Может кто-то сможет, если не сложно, пример написать на основе этого скрипта?
Ответить с цитированием
  #4 (permalink)  
Старый 08.03.2009, 21:07
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

function()
	{
	param=/param=([^&]*)/.exec(window.location)[1]
	alert(param)
	$("#"+param).open();//это для примера.на самом деле тут у вас должен быть ВАШ код по открытию того или иного спойлера
	}

передаете в адресной строке что-то по типу
index.php?param=qwe
и открываете спойлер с id=qwe
Ответить с цитированием
  #5 (permalink)  
Старый 08.03.2009, 21:21
Новичок на форуме
Отправить личное сообщение для BuTbka Посмотреть профиль Найти все сообщения от BuTbka
 
Регистрация: 08.03.2009
Сообщений: 4

Спасибо большое, будем разбираться
Ответить с цитированием
  #6 (permalink)  
Старый 08.03.2009, 21:31
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

забыл добавить, что в случае отстутсвия необходимой строки в адресной строке, скрипт вылетает с ошибкой.
по хорошему, разбейте первую строку скрипта на составляющие,и сделайте проверки.
вариант попробще, обернуть в try-catch
try
		{
		param=/param=([^&]*)/.exec(window.location)[1]
		alert(param)
		$("#"+param).open();
		}
	catch(e){}
Ответить с цитированием
  #7 (permalink)  
Старый 08.04.2009, 21:40
Новичок на форуме
Отправить личное сообщение для BuTbka Посмотреть профиль Найти все сообщения от BuTbka
 
Регистрация: 08.03.2009
Сообщений: 4

Кто поможет доделать скрипт как указано?
За пиво или скромную сумму в WM или Я деньгах.
Ответить с цитированием
  #8 (permalink)  
Старый 08.04.2009, 22:59
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,233

а в чем у вас проблема-то?
что именно не получилось, применив советы из темы?
PS какая она, скромная сумма по вашему мнению?
PPS если нужно наисвеорешее решение задачи, то стукните мне в асю(в профиле), обсудим, сделаю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как мышкой перемещать Div блок? Simon Общие вопросы Javascript 25 24.10.2017 12:03
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 18:31
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 20 11.11.2016 09:33
Как разделять страницы при выводе отчета ilshat Events/DOM/Window 7 10.12.2009 10:24
Не срабатывает hover при использовании в div IE 6.0 AlexMak (X)HTML/CSS 5 14.05.2009 18:26