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, время: 14:04. |