Форум XHTML.ru <!-- по-русски -->

Сайты - по стандартам, но не стандартные сайты!


#61 21.06.2006 12:23

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

А когда возникает ошибка?

Нет на форуме

 

#62 21.06.2006 16:01

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Сразу при запуске. sad

Нет на форуме

 

#63 21.06.2006 17:50

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Попробуйте закомментировать это условие (то, где возникает ошибка) и следующий за ним блок ( { } ).

Нет на форуме

 

#64 22.06.2006 09:21

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Результат смогу сказать только завтра, - в пятницу neutral

Нет на форуме

 

#65 22.06.2006 09:23

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

OK!

Нет на форуме

 

#66 23.06.2006 09:24

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Добрый день!
Вскрытие показало: все работает как и в моей версии, но после следующих изменений:

AKS написал:

.......................................................................
        switchNode : function(oTarget, aWinParams)
          {
          if(oTarget)
            {
            var oParent = oTarget.parentNode.parentNode;
            var oList = oParent.getElementsByTagName("div")[1]; 
            var oImg = oTarget.parentNode.getElementsByTagName("img")[0];
            if(oList.className == this.openClass)
              {
              this.changeProps(oList, this.hiddenClass, oImg, this.imgs.plus.src);
              }
            else
              { 
              this.changeProps(oList, this.openClass, oImg, this.imgs.minus.src);
        <!---  if(this.subList && this.subList != oList)
                {
                this.changeProps(this.subList, this.hiddenClass, this.subImg, this.imgs.plus.src);
                }
              if(this.mainList && this.mainList != oList && oParent.parentNode.parentNode != this.mainList)
                {
                this.changeProps(this.mainList, this.hiddenClass, this.mainImg, this.imgs.plus.src);
                } -->
              if(oParent.parentNode.parentNode.className == this.openClass)
............................................................................................................

Единственное изменение все-таки произошло: перестали меняться "плюс"\"минус".
Комментировал по-очереди, пока не дошел до работающего варианта.

Отредактированно mdi (23.06.2006 09:26)

Нет на форуме

 

#67 23.06.2006 10:18

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

mdi
Попробуйте, вмето того, чтобы прятать в комменты эти блоки, переписать проверки так:

Код:

if(typeof(this.subList) != "undefined" && this.subList != oList)
                { 
 this.changeProps(this.subList, this.hiddenClass, this.subImg, this.imgs.plus.src); 
                } 
if(typeof(this.mainList) != "undefined" && this.mainList != oList && oParent.parentNode.parentNode != this.mainList)
                { 
this.changeProps(this.mainList, this.hiddenClass, this.mainImg, this.imgs.plus.src); 
                }

Затем, если не будет результата, попробуйте писать вместо this.subList и this.mainList - listTools.subList и listTools.mainList

Нет на форуме

 

#68 23.06.2006 11:01

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Извините, что пишу сразу и без фактов. Такое изменение, на мой взгляд, просто заменит комментарии:
просто typeof(this.subList) != "undefined"  будет работать как "нет" и условие игнорироваться ...
Аналогично, мне кажется, произойдет и с заменой "this" на "listTools", - ведь это эквиваленты ...
Но может быть это мне только кажется ....

Нет на форуме

 

#69 23.06.2006 12:00

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

mdi
Вы ведь написали, что ошибка возникает сразу при запуске. Поэтому можно предположить, что при запуске, проигнорировав условие, мы сможем избежать ошибки...

Нет на форуме

 

#70 23.06.2006 13:05

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Ошибку-то мы избежали, но плюс перестал меняться на минус и обратно. И изменения, описанные Вами сегодня в 10:18, на мой взгляд, позволят просто раскомментариться (см. сегодня 11:01). И я больше чем уверен, что сделав изменения по 10:18 ошибки мы тоже избежим. Меня интересует то, как сделать теперь то, к чему мы стремимся ?

Нет на форуме

 

#71 23.06.2006 15:32

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

А какая у нас следующая задача?

Нет на форуме

 

#72 23.06.2006 15:40

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Да все таже, пока: сокрытие открытых пунктов, за исключением ветки с выбранным пунктом. У меня он, пока, не дышит ...

Нет на форуме

 

#73 23.06.2006 15:42

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Так Вы изменили именования и раскомментировали там все или нет?

Нет на форуме

 

#74 23.06.2006 15:59

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Я же описал все что я сделал: изменил, раскомментарил и получил, что отмеченное открывается\закрывается, а плюс и минус не меняются. И про typeof все сказал (см. 11:01 сегодня): он должен просто заменить комментарии.
Прошу меня верно понять: открывается и закрывается только пункт, по иконке которого сделан щелчок ...

Отредактированно mdi (23.06.2006 16:07)

Нет на форуме

 

#75 23.06.2006 16:02

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Я могу Вам выслать по e-mail страничку с html-кодом, который Вы здесь выкладывали. Там мой скрипт работает без проблем...
Напишите мне в почту Ваш адрес.

Нет на форуме

 

#76 23.06.2006 16:08

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

verdim@hotbox.ru

Нет на форуме

 

#77 23.06.2006 16:09

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Сейчас вышлю архивчик...

Нет на форуме

 

#78 23.06.2006 17:01

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

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

Нет на форуме

 

#79 23.06.2006 17:04

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

OK!

Нет на форуме

 

#80 26.06.2006 09:44

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Добрый день! Опробовал содержимое архива ..... Работает просто чудно !!!!!!!!!!!
Непонятно теперь мне самому, почему у меня не работает ..... Ведь не может же XML накладывать какие-то ограничения на JAVASCRIPT ?????? Буду теперь разбираться в чем причина.
Не могли бы Вы мне помочь еще в одном, быть может, простейшем для Вас вопросе: выравнивании выбранного пункта. Смысл следующий:
пока идет гуляние по левому фрейму, - ничего отличного от настоящей Вашей версии не происходит;
а вот как только выбран какой-то пункт меню (щелчок по наименованию), то слой, которому принадлежит выбранный пункт, прижимается левым краем к левому краю фрейма, а по-вертикали выравнивается выбранный пункт, независиво раскрывающийся он или - нет. При этом, если он - раскрывающийся, то этот факт никак не влияет на становящийся видимым при этом слой.

Отредактированно mdi (26.06.2006 09:46)

Нет на форуме

 

#81 26.06.2006 09:57

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Речь идет о пунктах, типа:

Код:

<i>1_1_1</i>
<i>1_1_2</i>

Или нет?

Нет на форуме

 

#82 26.06.2006 10:06

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Да. К примеру:
1
  1_1
  1_2
  1_3
    1_3_1
    1_3_2
      1_3_2_1
      1_3_2_2
    1_3_3
..............
Когда я щелкаю по 1_3_2_1, то все выравнивается по 1_3_2 и 1_3_3 (по левой границе), а сам 1_3_2_1 выравнивается по середине окна (или фрейма, - как кто привык).

Нет на форуме

 

#83 26.06.2006 10:07

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Но только это касается только наименования ......

Нет на форуме

 

#84 26.06.2006 10:16

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Можно попробовать для классов Node и label задавать margin или padding в пикселях, попробуйте, поэкспериментируйте, ведь пункты, указанные Вами, находятся именно в этих блоках...

Нет на форуме

 

#85 26.06.2006 10:54

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Тогда вопрос такой: если я в динамике присваиваю какому-либо пункту выравнивание, а затем другому, то у первого это присвоение пропадет или останется ???  И если останется, как оно повлияет на выравнивание остальных пунктов и повлияет ли вообще ????

Нет на форуме

 

#86 26.06.2006 10:58

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

У первого ничего не пропадет, пока Вы не переопределите значение. Повлияет на остальные пункты также, как обычно (я имею ввиду css).

Нет на форуме

 

#87 26.06.2006 11:09

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Опять бегать по всем окрестностям и выискивать: где же он мой суженый с измененными установками ????
Про margin и padding я догадывался ..... Мне просто .... Или Вы хотите сказать ...... Боже !!!!!!
В теже самые фрагменты, где слой закрывается надо вставить эпизоды с возвратом стандартных значений выравнивания, а там, где слой остается открытым, - так, как я хочу ??? Так, или мои извилины слишком переплелись ???

Нет на форуме

 

#88 26.06.2006 11:19

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Не знаю. Трудно что-либо советовать не глядя (у меня ведь при работе с html-кодом таких вопросов не возникало)...
А вообще, это и есть то самое, о чем я говорил с самого начала - необходимо использовать нужную разметку.

Нет на форуме

 

#89 26.06.2006 11:26

mdi
Разбирающийся
Зарегистрирован: 15.06.2006
Сообщений: 84

Re: Закрытие всех слоев DIV, составляющих меню

Прошу прощения, вразумите меня еще раз (можно просто дублем из начала переписки): мне никак не вернуться назад, - застревает на 38% и все тут ....smile

Нет на форуме

 

#90 26.06.2006 11:42

AKS
Опытный
Зарегистрирован: 25.12.2005
Сообщений: 409

Re: Закрытие всех слоев DIV, составляющих меню

Если нужно отобразить список - используем тэги ul, li:

Код:

<ul>
    <li>пункт 1 
        <ul>
            <li>пункт 1.1</li>
            <li>пункт 1.2</li>
            <li>пункт 1.3</li>
        </ul>
    </li>
    <li>пункт 2 
        <ul>
            <li>пункт 2.1</li>
            <li>пункт 2.2</li>
            <li>пункт 2.3</li>
        </ul>
    </li>
</ul>

Нет на форуме

 

Board footer

Работает на PunBB
© 2002—2005 Rickard Andersson