Javascript.RU

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

slideToggle_не закрывался активный блок
Как сделать чтобы не закрывался активный блок slideToggle.

http://atomilov.ozlab.ru/portfolio/architecture/zavod/

что было так:
Изображения:
Тип файла: jpg Untitled-004.jpg (50.4 Кб, 7 просмотров)
Ответить с цитированием
  #2 (permalink)  
Старый 28.05.2010, 08:34
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,563

в куках запоминайте текущую вкладку.

Ну или на стороне сервера - через сессии.
Ответить с цитированием
  #3 (permalink)  
Старый 28.05.2010, 09:34
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

if (location.href == …) {
$(…).show();
}


Смысл в том, чтобы сравнивать текущий URL с опр. значением и показывать нужный блок.
Ответить с цитированием
  #4 (permalink)  
Старый 28.05.2010, 11:17
Новичок на форуме
Отправить личное сообщение для baklanaft Посмотреть профиль Найти все сообщения от baklanaft
 
Регистрация: 27.05.2010
Сообщений: 4

эта штука в ie6 и ie7 никак не работает? или есть варианты.
Ответить с цитированием
  #5 (permalink)  
Старый 28.05.2010, 11:24
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,563

А как пишешь? Так:
var h = location.href;
if (h.indexOf('architecture') != -1) {
  // раскрыть вкладку архитектуры
}

?
Ответить с цитированием
  #6 (permalink)  
Старый 28.05.2010, 13:12
Новичок на форуме
Отправить личное сообщение для baklanaft Посмотреть профиль Найти все сообщения от baklanaft
 
Регистрация: 27.05.2010
Сообщений: 4

//Slide up and down on click
	$("li.trigger").click(function(){
		$(this).next(".toggle_container").slideToggle("slow");
    });
});


сейчаз вот так
Ответить с цитированием
  #7 (permalink)  
Старый 28.05.2010, 14:20
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,563

Сообщение от baklanaft Посмотреть сообщение
сейчаз вот так
Ну и что это такое? Я спрашивал как ты анализируя адрес страницы раскрываешь нужную вкладку при загрузке страницы.

p.s. Это надо делать в $(document).ready().
Ответить с цитированием
  #8 (permalink)  
Старый 28.05.2010, 15:42
Новичок на форуме
Отправить личное сообщение для baklanaft Посмотреть профиль Найти все сообщения от baklanaft
 
Регистрация: 27.05.2010
Сообщений: 4

я не знаю как это работает и в js -0:

код, который отвечает за раскрытие:
$(document).ready(function(){

	//Hide (Collapse) the toggle containers on load
	$(".toggle_container").hide(); 

	//Switch the "Open" and "Close" state per click
	$("li.trigger").toggle(function(){
		$(this).addClass("active");
		}, function () {
		$(this).removeClass("active");
	});

	//Slide up and down on click
	$("li.trigger").click(function(){
		$(this).next(".toggle_container").slideToggle("slow");
    });
});


все остальное в css.
он автоматически присваевает <ul id="submenu" class="toggle_container" style="display: none">
когда открыто style="display: block"

тоесть когда я заходу на http://atomilov.ozlab.ru/portfolio/architecture/zavod/ нужно чтобы показывал
<ul id="menu">
<li class="trigger active">
<a>Architecture</a>
</li>
<ul id="submenu" class="toggle_container" style="display: block">
Ответить с цитированием
  #9 (permalink)  
Старый 28.05.2010, 16:30
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,563

Я понимаю, целое ТЗ ты выставил. Вообще ты просишь готовый скрипт с нуля - а это робота которая обычно оплачивается. Но последовательность действий подскажу:
$(document).ready(function(){
  // твой код
  // ...
  // end твой код
  var where = ''; // где находимся
  var h = location.href;
  if (h.indexOf('architecture') != -1) {
    where = 'Architecture';
  } else if (){
    // другие назначения метки where
  }
  // Теперь нужно найти тот li.trigger в котором имеется <a>where</a>
  // Это можно сделать как то так:
  var $a = $('li.trigger a').filter(function(){return ($.trim($(this).text()) == where)});
  var $li = $a.eq(0).closest('li');
  // разворачиваем:
  $li.addClass("active");
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Всплываюший блок! daron jQuery 5 14.05.2010 11:20
Добавить активный элемент Wirty jQuery 5 09.08.2009 16:06
Как сделать чтобы при нажатии мышки появлялся/исчезал блок DIV, а сл.текст сдвигался? goshikvia Элементы интерфейса 19 21.04.2009 16:59
Неподвижный блок snapik (X)HTML/CSS 4 23.03.2008 00:52