Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скрыть меню при отключенном JS в браузере 
V
    Опции темы
slon35
Дата 3.5.2012, 02:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.6.2011

Репутация: нет
Всего: нет



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

Код

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>выпадающее меню</title>
<link rel="stylesheet" type="text/css" href="dropdownmenu.css">

<script type="text/javascript" src="dropdownmenu.js"></script>

</head>
<noscript>
<font color="000000">dsvdsvvd</font>
</noscript>
<body onLoad="init()">

<ul id="menu">
    <li><a href="#">Раздел-1</a>
        <ul>
            <li><a href="#">Подраздел первого уровня-1</a>
                <ul>
                    <li><a href="#">Подраздел второго уровня-1</a></li>
                    <li><a href="#">Подраздел второго уровня-2</a></li>
                </ul>
            </li>
        </ul>
    </li>
    <li><a href="#">Раздел-2</a>
        <ul>
            <li><a href="#">Подраздел первого уровня-1</a></li>
            <li><a href="#">Подраздел первого уровня-2</a></li>
        </ul>
    </li>
    <li><a href="#">Раздел-3</a>
        <ul>
            <li><a href="#">Подраздел первого уровня-1</a></li>
            <li><a href="#">Подраздел первого уровня-2</a></li>
            <li><a href="#">Подраздел первого уровня-3</a></li>
            <li><a href="#">Подраздел первого уровня-4</a></li>
        </ul>
    </li>
    <li><a href="#">Раздел-4</a>
        <ul>
            <li><a href="#">Подраздел первого уровня-1</a></li>
        </ul>
    </li>
    <li><a href="#">Раздел-5</a>
        <ul>
            <li><a href="#">Подраздел первого уровня-1</a></li>
            <li><a href="#">Подраздел первого уровня-2</a>
                <ul>
                    <li><a href="#">Подраздел второго уровня-1</a></li>
                    <li><a href="#">Подраздел второго уровня-2</a></li>
                    <li><a href="#">Подраздел второго уровня-3</a></li>
                    <li><a href="#">Подраздел второго уровня-4</a></li>
                    <li><a href="#">Подраздел второго уровня-5</a></li>
                </ul>
            </li>
            <li><a href="#">Подраздел первого уровня-1</a></li>
            <li><a href="#">Подраздел первого уровня-2</a></li>
        </ul>
    </li>
</ul>


</body>

</html>


Код

function ddMenu(dropdownmenuid)
{
    this.id = dropdownmenuid;
    this.mm = document.getElementById(this.id);
    
    this.zIndex = 1;
    
    this.closingTime = new Array();
    this.closingTimeout = new Array();
    
    
    this.init = function()
    {
        var mm, lis, i, y, ul, a;
        
        lis = this.mm.getElementsByTagName('li');
        
        for (i = 0; i < lis.length; i++)
        {
            li = lis[i];
            
            ul = false;
            a = false;
            
            for (y=0; y<li.childNodes.length; y++)
            {
                switch (li.childNodes[y].tagName)
                {
                    case 'UL':
                        ul = li.childNodes[y];
                        break;
                    
                    case 'INS':
                        a = li.childNodes[y].firstChild;
                        break;
                    
                    case 'A':
                        a = li.childNodes[y];
                        break;
                    
                    default:
                        break;
                }
            }
            
            if (ul)
            {
                a.className = 'dd';
                ul.id = ul.id || this.id+'_'+i;
                
                this.closingTime[ul.id] = 0;
                
                ul.style.display = 'none';
                ul.style.zIndex = 0;
                
                li.onmouseover = function(object, ul)
                {
                    return function()
                    {
                        this.className = 'hover';
                        object.showMenu(ul);
                    }
                }(this, ul)
                
                li.onmouseout = function(object, ul)
                {
                    return function()
                    {
                        this.className = '';
                        object.closeMenu(ul);
                    }
                }(this, ul)
            }
            else
            {
                li.onmouseover = function(){this.className = 'hover';}
                li.onmouseout = function(){this.className = '';}
            }
        }
    }
    
    
    this.showMenu = function(ul)
    {
        ul.style.display = 'block';
        ul.style.zIndex = this.zIndex++;
        this.setClosingTime(ul);
    }
    
    
    this.setClosingTime = function(ul)
    {
        var cUl = ul;
        
        while (cUl.id != this.id)
        {
            this.closingTime[cUl.id] = 0;
            clearTimeout(this.closingTimeout[ul.id]);
            
            cUl = cUl.parentNode.parentNode;
        }
    }
    
    
    this.closeMenu = function(ul)
    {
        this.closingTime[ul.id]++;
        
        if (this.closingTime[ul.id] > 1)
        {
            this.closingTime[ul.id] = 0;
            clearTimeout(this.closingTimeout[ul.id]);
            
            ul.style.display = 'none';
            ul.style.zIndex = 0;
        }
        else
        {
            this.closingTimeout[ul.id] = setTimeout(function(object, ul)
            {
                return function()
                {
                    object.closeMenu(ul);
                }
            }(this, ul), 500);
        }
    }
    
    
    this.init();
}

function init()
{
    (new ddMenu('menu'));
}


Это сообщение отредактировал(а) Aliance - 4.5.2012, 09:34
PM MAIL   Вверх
Wolf1994
Дата 3.5.2012, 09:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 5.10.2004

Репутация: 4
Всего: 29



Код

<ul id="menu" style="display:none">


Код

function init()
{
    document.getElementById("menu").style.display="";
    (new ddMenu('menu'));
}


Это сообщение отредактировал(а) Aliance - 4.5.2012, 09:35
PM MAIL WWW   Вверх
ksnk
Дата 3.5.2012, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386



Код

<noscript>
<style type="text/css">
        .JsOnly { display: none !important; }
</style>
</noscript>


Добавлено через 52 секунды
Код

<ul id="menu" class="JsOnly">



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
slon35
Дата 3.5.2012, 20:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 1.6.2011

Репутация: нет
Всего: нет



Спасибо)
PM MAIL   Вверх
Aliance
Дата 4.5.2012, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



slon35, Wolf1994, 
пользуйтесь кнопкой код в соответствии с используемым языком. javascript лучше помещать в свой хайлайтер, нежели в html.


slon35, если вопрос решен - вверху топика, там где его тема есть кнопочка "Пометить как решённый" - не забывайте про нее. На этот раз я нажал ее за Вас, но на будущее имейте ввиду.
PM MAIL WWW ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0602 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.