slideToggle_не закрывался активный блок
Вложений: 1
Как сделать чтобы не закрывался активный блок slideToggle.
http://atomilov.ozlab.ru/portfolio/architecture/zavod/ что было так: |
в куках запоминайте текущую вкладку.
Ну или на стороне сервера - через сессии. |
if (location.href == …) {
$(…).show();
}
Смысл в том, чтобы сравнивать текущий URL с опр. значением и показывать нужный блок. |
эта штука в ie6 и ie7 никак не работает? или есть варианты.
|
А как пишешь? Так:
var h = location.href;
if (h.indexOf('architecture') != -1) {
// раскрыть вкладку архитектуры
}
? |
//Slide up and down on click
$("li.trigger").click(function(){
$(this).next(".toggle_container").slideToggle("slow");
});
});
сейчаз вот так |
Цитата:
p.s. Это надо делать в $(document).ready(). |
я не знаю как это работает и в 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"> |
Я понимаю, целое ТЗ ты выставил. Вообще ты просишь готовый скрипт с нуля - а это робота которая обычно оплачивается. Но последовательность действий подскажу:
$(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");
});
|
| Часовой пояс GMT +3, время: 03:21. |