[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: открытые разделы каталога
REZzANATOR
Столкнулся с задачей

Есть вертикальное ЦСС меню уровнем 3 вложенности.
Каждый уровень просто раздвигается.
Все гуд работает, но если перейти по сслыке допустим в 3 вложености, переход.. на нойвой странице меню получается всегда свернуто.

Понимаю что можно как нить реализовать на js чтобы по переходу передавать паремтром в функцию которая будет раскрывать менюшку в нужной вложености

Вот собственно стиль менюхи
HTML
#top, #top ul
{
list-style: none;
}
#top ul li
{
display: block;
}
#top ul li a
{
display: block;
}
#top ul li ul
{
display: none;
}
#top {
margin:0;
padding:0;
}
#top ul
{
margin:0;
padding:0;
font-size:12px;
padding-top: 25px;
}
#top li
{
width: 201px;
display: block;
float: none;
margin-bottom: 2px;
padding: 0;
background: url(/templates/main/images/menu.jpg) no-repeat top left;
padding-top: 3px;
padding-left: 17px;
}
#top li:hover, #top li.jshover
{
width: 201px;
display: block;
float: none;
margin-bottom: 2px;
padding: 0;
background: url(/templates/main/images/menuact.jpg) no-repeat top left;
padding-top: 3px;
padding-left: 17px;
}
#top a
{
color: #473410;
text-decoration: underline;
font-size:12px;
white-space: nowrap;
text-decoration: none;
display: block;
padding-bottom: 4px;
}
#top a:hover
{
color: #a81b45;
text-decoration: none;
}
*html #top li ul
{
border-left:0;
padding:0px;
margin:0;
width:129px;
left:0;
display: none;
/*display:block;*/
margin-top: 5px;
margin-left: -17px;
}
*:first-child+html #top li ul
{
border-left:0;
padding:0px;
margin:0;
width:129px;
left:0;
display: none;
/* display:block;*/
margin-top: 5px;
margin-left: -17px;
}
#top li ul
{
border-left:0;
padding:0px;
margin:0;
width:129px;
left:0;
display: none;
/* display:block;*/
margin-top: 5px;
padding-bottom: 2px;
margin-left: -17px;
}
#top li li
{
}
#top li:hover li:hover, #top li.jshover li.jshover
{
width: 201px;
display: block;
float: none;
margin-bottom: 2px;
padding: 0;
background: url(/templates/main/images/menu2.jpg) no-repeat top left;
padding-top: 3px;
padding-left: 17px;
}
#top li li a
{
color: #51351f;
font-size: 11px;
background:none;
padding-bottom: 5px;
font-weight: normal;
text-decoration: none;
padding-left: 27px;
}
#top li li li a
{
color: #51351f;
font-size: 10px;
background:none;
padding-bottom: 6px;
font-weight: normal;
text-decoration: none;
padding-left: 45px;
}



прошу подсказать.



Спустя 5 часов, 53 минуты, 35 секунд (19.02.2009 - 04:49) REANIMATOR написал(а):
в чём собственно заключается вопрос?

Спустя 4 часа, 41 минута, 12 секунд (19.02.2009 - 09:31) Guest написал(а):
воббщем необходимо дать "пинок" как начать реализовавывать. просто в js не очень силен.
хотя бы покажите как сделать каркас

Спустя 49 секунд (19.02.2009 - 09:31) REZzANATOR написал(а):
вопрос был от меня ph34r.gif )))


Спустя 1 час, 14 минут, 18 секунд (19.02.2009 - 11:30) REZzANATOR написал(а):
само меню у меня есть.. мне нужна помощь потому как сделать чтобы после перехода по ссылки из меню, само меню было раскрыто в нужной вкладке

Спустя 3 часа, 31 минута, 1 секунда (19.02.2009 - 15:01) REANIMATOR написал(а):
один из способов передать данные в js на другую страницу это через query string...
или же можно проанализировать саму ссылку, и вытащить из неё тот параметр который присутствует в нужной вкладке

Спустя 27 минут, 46 секунд (19.02.2009 - 15:29) sergeiss написал(а):
Цитата (REZzANATOR @ 19.02.2009 - 11:30)
само меню у меня есть.. мне нужна помощь потому как сделать чтобы после перехода по ссылки из меню, само меню было раскрыто в нужной вкладке

В таком случае, тебе надо завести скрытое поле (type="hidden"), куда ты будешь записывать (через JavaScript) выбранное значение меню ДО ТОГО, как отправить форму на обработку. Это в случае, если ты используешь метод POST.

Если используется метод GET... Тогда надо делать какую-то добавку к адресу, которую потом считывать.

Третий вариант, который более универсален - использовать куки.

Правда, у всех вариантов есть недостатки, у каждого свои.

Спустя 25 минут, 57 секунд (19.02.2009 - 15:55) REZzANATOR написал(а):
sergeiss
можно чуть подробнее

получается у каждой вложености у меня есть id
мне нужно етот id передавать в строке потом считывать query srting и вставлять?!

Спустя 26 минут, 40 секунд (19.02.2009 - 16:21) FatCat написал(а):
Рекомендую посмотреть в низу этой страницы кнопку user posted image
Джаваскрипт можно слизать оттуда.
Свернутость/развернутость задается свойством display.
На страницах жестким хтмл или средствами пхп те пункты меню, которые должны изначально приходить развернутыми, использовать display:block

Спустя 19 часов, 16 минут, 8 секунд (20.02.2009 - 11:38) REZzANATOR написал(а):
FatCat спасибо но уже чут по другому начал.

товарищи хэлп

насобирал js получилось вот что

Код

var value = "";

function Querystring(qs) {
this.params = {};

if (qs == null) qs = location.search.substring(1, location.search.length);
if (qs.length == 0) return;

qs = qs.replace(/\+/g, ' ');
var args = qs.split('&');


for (var i = 0; i < args.length; i++) {
 var pair = args[i].split('=');
 var name = decodeURIComponent(pair[0]);

 var value = (pair.length==2)
  ? decodeURIComponent(pair[1])
  : name;
        Display (value);
}
}

function Display (value) {
 var visible = "";

if ({$pid} == value) {
     visible = "block";
}else {
  visible = "none";
}

document.write('<ul id="{$pid}" style="display:'+visible+';"><li>1</li></ul>');
alert (value);
alert (visible);
}

вроде все ок. берется у меня из гета параметр ужнвй раздел и проверяется с нужным разделом.

Не могу сообразить как правильно прикрутить проверку в хтмл.

*может пошел не в ту степь..?

Спустя 2 часа, 25 минут (20.02.2009 - 14:03) bret написал(а):
Как поименованы страницы7 Если, допустим, клик на подпункт Black меню Colors ведёт на страничку ../colors/black.html , то нужную степень открытости меню можно вытягивать из урла страницы

Спустя 8 минут, 22 секунды (20.02.2009 - 14:11) REZzANATOR написал(а):
Гетом передаю id <ul>a. Читаю его, потом нада проверить к какому <ul> нада присвоить display:block

Код

function Display (value) {
var visible = "";

if ({$pid} == value) {
    visible = "block";
}else {
 visible = "none";
}


на локале, на тестовой страничка вроде все гуд.. а вот как пробегаться по всем <ul>ам на страничке((( не пойму.. или нада условие перед каждым улом ставить(
как вклинить проверку???((

Спустя 4 дня, 20 часов, 48 минут, 31 секунда (25.02.2009 - 10:59) REZzANATOR написал(а):
всем спасибо.
справился cool.gif .. если кому нада будет такую тему реализовать, обращайтесь по ЛС помогу))


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.