Понедельник, 10 Фев 2025, 11:09
Приветствую Вас FLEMHHH | RSS
 
Главная ОЧЕНЬ НУЖЕН ЧЕЛОВЕК РАЗБИРАЮЩИЙСЯ В JAVASCRIPT! - ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: Lamp04kin, Ученик  
ОЧЕНЬ НУЖЕН ЧЕЛОВЕК РАЗБИРАЮЩИЙСЯ В JAVASCRIPT!
ГрубыйДата: Четверг, 03 Июл 2008, 13:48 | Сообщение # 1
Мистик
Группа: Был(а) в Гильдии NO или FO
Сообщений: 257
Статус: Отсутствует
просьба тему не блочить.... мне кажется что в нашей ГИ найдётся чел кто шарит в этом.... у меня мозг уже кипит...

Соообственно вот в чём дело....

есть меню 2х уровневое....
(написаное на html с применением CSS и чутка JS)

задача сделать третий уровень меню.... точнее поправить код...
html код идеальный.... CSS вроде как тоже гуд... следовательно проблема в JS скрипте

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

...в долгу неостанусь...

вот скрипт
var menuids=new Array("verticalmenu") //Enter id(s) of UL menus, separated by commas
var submenuoffset=-2 //Offset of submenus from main menu. Default is -2 pixels.

function createcssmenu(){
for (var i=0; i<menuids.length; i++){
var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul")
for (var t=0; t<ultags.length; t++){
var spanref=document.createElement("span")
spanref.className="arrowdiv"
spanref.innerHTML="  "
ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref)
ultags[t].parentNode.onmouseover=function(){
this.getElementsByTagName("ul")[0].style.left=this.parentNode.offsetWidth+submenuoffset+"px"
this.getElementsByTagName("ul")[0].style.display="block"
}
ultags[t].parentNode.onmouseout=function(){
this.getElementsByTagName("ul")[0].style.display="none"
}
}
}
}
if (window.addEventListener)
window.addEventListener("load", createcssmenu, false)
else if (window.attachEvent)
window.attachEvent("onload", createcssmenu)


....В жестоком мире, будь жесток....

моё портфолио:


Сообщение отредактировал Грубый - Четверг, 03 Июл 2008, 13:49
 
ЧЕРЕПАШКОДата: Четверг, 03 Июл 2008, 15:08 | Сообщение # 2
~A.i.*[Omon Ra]~
Группа: LostOrder
Сообщений: 970
Статус: Отсутствует
tongue я незнаю)))))) ЫЫЫЫ

Мой каждый день кристально ясен
И полон радостных картин
Не потому, что мир прекрасен,
А потому,что Я кретин.
************
Черепашка - промежуточное состояние между яйцом и пепельницей.
 
ГрубыйДата: Четверг, 03 Июл 2008, 21:02 | Сообщение # 3
Мистик
Группа: Был(а) в Гильдии NO или FO
Сообщений: 257
Статус: Отсутствует
Ап....

....В жестоком мире, будь жесток....

моё портфолио:

 
unbДата: Пятница, 04 Июл 2008, 03:57 | Сообщение # 4
больше не пью Х_х
Группа: Друзья Форума
Сообщений: 265
Статус: Отсутствует
трехуровневое меню само по себе - зло smile
как-нибудь подумаю на досуге
 
FixyДата: Пятница, 04 Июл 2008, 06:53 | Сообщение # 5
ангел - лох
Группа: LostOrder
Сообщений: 834
Статус: Отсутствует
Ля как лень разворачиваться на компе =\

var menuids=new Array("verticalmenu") //Enter id(s) of UL menus, separated by commas

покрути скрипт, ты указал только 1 уровень, поэтому глючит.

а вообще я бы не ипался и нашел готовый рабочий вариант, а не собирать по частям


http://www.youtube.com/user/sorupopic
Вы временно заблокированы. Дата и время разблокирования — 22.1.2018, 20:12. © фогей
 
FixyДата: Пятница, 04 Июл 2008, 15:39 | Сообщение # 6
ангел - лох
Группа: LostOrder
Сообщений: 834
Статус: Отсутствует
в фф работает все что не работает в опере и наоборот, так что найди другой скрипт)

http://www.youtube.com/user/sorupopic
Вы временно заблокированы. Дата и время разблокирования — 22.1.2018, 20:12. © фогей
 
RussianДата: Пятница, 04 Июл 2008, 16:59 | Сообщение # 7
Lorem ipsum dolor sit amet
Группа: Гость Форума
Сообщений: 924
Статус: Отсутствует
И етить.... скритп мега кривой....

Как вариант такую чепуху можно сделать, основываясь например на мой скрипт FAQ ( http://www.art-flora.ru/web/faq.html )

Смысл его прост:
<вопрос>
<невидимый ответ>
...
<вопрос>
<невидимый ответ>

при клике на вопрос ответ становится видимым/невидимым.
Работает без глюков во всех браузерах.

Код значить, который на страничке писать надо:

Code

<script src="faq.js" type="text/javascript"></script>
<div id="wpq-1" class="toggler-top">
     <div class="toggler" onClick="WPtoggle(1)" >Как мы работаем с клиентами?</div>

</div>
<div id="wpa-1" class="invisible">
     <p>В первую очередь, мы работаем честно, профессионально, быстро, качественно и в установленные сроки.</p>
</div>

<div id="wpq-2" class="toggler">
     <div onClick="WPtoggle(2)">Что за животное живет на нашей главной странице?</div></div>
<div id="wpa-2" class="invisible">
     <p>Тюлень <img src="http://src.ucoz.net/sm/2/smile.gif" border="0" align="absmiddle" alt="smile"> Каждый тюлень имеет право жить на каком-либо сайте в Интернете.</p>
</div>

<div id="wpq-3" class="toggler">
     <div onClick="WPtoggle(3)">Сколько будет стоить сайт?</div>
</div>
<div id="wpa-3" class="invisible"><p>Стоимость Интернет-сайта зависит от различных факторов, таких, как:</p>
<ul>
<li>Дизайн</li>
<li>Структура</li>
<li>Требуемая функциональность </li>
<li>Количество информации</li>

<li>Используемые технологии</li>
<li>Покупка доменного имени</li>
<li>Хостинг</li>
<li>и другие..</li></ul>
</div>

<div id="wpq-4" class="toggler">
     <div onClick="WPtoggle(4)">Какие материалы необходимы для создания сайта?</div>
</div>
<div id="wpa-4" class="invisible"><p>Для начала работ достаточно вашего логотипа и пожеланий, если имеются исходные графические элементы (фотографии, иллюстрации, брендбук), вы сможете предоставить их.</p>

</div>

<div id="wpq-5" class="toggler">
     <div onClick="WPtoggle(5)">Что такое правильно созданный Интернет-сайт?</div>
</div>
<div id="wpa-5" class="invisible"><p>Грамотно построенный интернет-сайт отвечает следующим требованиям:</p>
<ul>
<li>Вызывает доверие пользователя к компании, к качеству предлагаемых товаров/ услуг</li>
<li>Вовремя обновляется и является информативным и содержательным</li>
<li>Легко находится поисковыми системами</li>
<li>Прост в использовании и получении нужной информации</li>

<li>Внешнее оформление web-сайта соответствует фирменному стилю компании и подчеркивает ее респектабельность</li>
</ul>

</div>

Код самого скрипта:

Code

var animationInterval = 15;
var animationSteps = 10;
var updateStep = 7;

var openNow = 1;
var tobeOpen = 0;
var isCached = false;
var question = new Array();
var answer = new Array();
var currentQ = null;
var currentA = null;
var currentAHeight = 0;
var animationTimer = null;
var animationStep = 0;
var collapcingStep = 0;
var collapcingValue = 0;

document.onkeydown = NavigateThrough;

function WPtoggle (n)
{
    if (animationTimer) return;    

    CacheParts();

    if (n <= 0) n = answer.length - 1;
    else if (n >= answer.length) n = 1;

    if (openNow)
    {
     ClosePart (openNow);
     OpenPart (n);
     Animate();
    }
    else
    {
     ForceOpen (n);
    }
}

function CacheParts()
{
    if (isCached) return;

    for (var c = 1;; c++)
    {
     var currentQ = document.getElementById ('wpq-' + c);
     var currentA = document.getElementById ('wpa-' + c);
     if (!currentQ || !currentA) break;

     question[c] = currentQ;
     answer[c] = currentA;
    }
    isCached = true;
}

function UpdateFace (n)
{
    var faceHolder = document.getElementById ('WorkFace');
}

function ClosePart (n)
{     
    currentQ = question[n];
    currentA = answer[n];
    currentAHeight = answer[n].offsetHeight;
}

function OpenPart (n)
{
    tobeOpen = n;
}

function Animate()
{
    animationTimer = setInterval (AnimationStep, animationInterval);
    animationStep = 1;
    collapcingValue = 0;
    collapcingStep = parseInt (currentAHeight / animationSteps);
}

function AnimationStep()
{    
    if (++animationStep >= animationSteps)
    {
     clearInterval (animationTimer);
     animationTimer = null;
     animationStep = 0;     
     AnimationPostprocess();
    }
    else
    {    
     collapcingValue -= collapcingStep;
     MoveBlocks();

     if (animationStep == updateStep) UpdateFace (tobeOpen);
    }    
}

function AnimationPostprocess()
{
    for (var c = 1; c != question.length; c++)
    {
     question[c].style.top = '0';
     answer[c].style.top = '0';
    }

    currentA.className = 'invisible';    
    currentA.style.color = '#000000';    
       
    if (tobeOpen != openNow) answer[tobeOpen].className = 'visible answer';
    else tobeOpen = 0;

    openNow = tobeOpen;
    tobeOpen = 0;
}

function MoveBlocks()
{
    currentA.style.color = StepColor();
    for (var c = openNow + 1; c != question.length; c++)
    {
     question[c].style.top = collapcingValue + 'px';
     answer[c].style.top = collapcingValue + 'px';     
    }    
}

function StepColor()
{    
    var colorChar = dec2hex (parseInt (16 * animationStep / animationSteps));
    var ret = colorChar + colorChar + colorChar;
       
    return '#' + ret;    
}

function dec2hex (dec)
{
    var hexChars = "0123456789ABCDEF";
    dec %= 16;
    return hexChars.charAt (dec);
}

function ForceOpen (n)
{
    answer[n].className = 'visible answer';
    openNow = n;
}

Ну а дальше, "вопрос" -> пункт меню, "ответ" -> пункт меню уровня ниже. и т.д.


Я построю свой лунопарк: с казино, блекджеком и шлюхами… Хотя к черту казино и блекджек… © Bender



Сообщение отредактировал Russian - Пятница, 04 Июл 2008, 17:02
 
ГрубыйДата: Четверг, 21 Авг 2008, 13:18 | Сообщение # 8
Мистик
Группа: Был(а) в Гильдии NO или FO
Сообщений: 257
Статус: Отсутствует
2 уровня а надо 3!

Добавлено (21.08.2008, 13:18)
---------------------------------------------
еее своим умом дошёл.... 3х уровневое меню на HTML (для индексации) c CSS стилем и JavaScriptom
РАБОТАЕТ!!! ЮХУ!

ТЕМУ ЗАКРЫВАЕМ!


....В жестоком мире, будь жесток....

моё портфолио:


Сообщение отредактировал Грубый - Четверг, 21 Авг 2008, 13:18
 
  • Страница 1 из 1
  • 1
Поиск:

BesAndDark © 2025