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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получилось меню. Не завершается функция. 
V
    Опции темы
R.M.
Дата 31.7.2006, 06:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



Вот написал небольшой скрипт выплывающего меню, но непонятны некоторые вещи. Так вроде всё хорошо но непонимаю как заставить функцию перестать отрабатывать? Т.е. как я понял моя проблема в том что функция показа не заканчивается и когда начинается функция прятания то они начинают "бороться" smile
Прошу разъяснить что у меня неправильно и по возможности помочь smile

Код

<style>
body {margin: 0;}
</style>

<script>
var i=0;

function showing()
  {
  if (i < 180)
    {
    document.getElementById("last").style.width=i;
    i=i+7;
    }
  }

function showlast()
  {
  document.getElementById("last").style.display='block';
  startshow = setInterval('showing()',20);
  }

function hideing()
  {
  if (i > 0)
    {
    document.getElementById("last").style.width=i;
    i=i-7;
    }
  else
    {
    document.getElementById("last").style.display='none';
    document.getElementById("last").style.width='0';
    }
  }

function hidelast()
  {
  starthide = setInterval('hideing()',10);
  }

</script>

<div style='width: 10; height: 230; background-color: black;' onmouseover='javascript:showlast();'></dvi>
<div id='last' style='display: none; overflow: hidden; height: 230; border: 1px solid black; background-color: white;' onmouseout='javascript:hidelast();'>Меню меню меню меню</dvi>
 


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
igorold
Дата 31.7.2006, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



что за тег ?
Цитата(Куксикус @  31.7.2006,  06:45 Найти цитируемый пост)
</dvi>

 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
igorold
Дата 31.7.2006, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



поотлаживал твой код, вот так работает:
Код

<style>
body {margin: 0;}
</style>
<script>

var i=0;
var startshow = null;
var stopshow = null;

function showing()
{
    if (i < 180)
    {
        i=i+1;
        document.getElementById("last").style.width=i;
        i=i+6;
    }
    else
    {
        if (startshow) clearInterval(startshow);
        startshow = null;
    }
}

function showlast()
{
  document.getElementById("last").style.display="block";

    if (stopshow) clearInterval(stopshow);
    stopshow = null;
  startshow=setInterval("showing()",20);
}

function hideing()
{
  if (i > 0)
  {
    i=i-1;
    document.getElementById("last").style.width=i+0;
    i=i-6;
  }
  else
  {
    if (stopshow) clearInterval(stopshow);
    stopshow = null;
    document.getElementById("last").style.display="none";
  }
}
function hidelast()
{
    if (startshow) clearInterval(startshow);
    startshow = null;
    stopshow=setInterval("hideing()",20);
}
</script>

</head>
<body>
<div style='width: 10; height: 230; background-color: blue;' onmouseover='javascript:showlast();'>Первый див</div>
<div id='last' style='display: none; overflow: hidden; height: 230; border: 1px solid black; background-color: white;' onmouseout='javascript:hidelast();'>Меню меню меню меню</div>

 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
R.M.
Дата 31.7.2006, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



Цитата(igorold @  31.7.2006,  09:05 Найти цитируемый пост)
что за тег ?

 smile  smile 

Цитата(igorold @  31.7.2006,  10:42 Найти цитируемый пост)
поотлаживал твой код, вот так работает:

Спасибо, понял ошибку. 


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

Nokia LifeStyle - Всё для смартфонов Nokia 
PM MAIL WWW ICQ   Вверх
R.M.
Дата 4.8.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Анархист
****


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

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



А как сделать чтобы вложенные теги <div>, <img> не считались за onmouseout?


--------------------
Помнишь как бодрили дискотеки прошлого века? Теперь стул, компьютер и нету человека.

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


 




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


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

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