LINUX.ORG.RU

Задержка в JS скрипте

 ,


0

1

Всем доброго времени суток! Мне необходимо сделать задержки для выпадающего меню (slideUp, slideDown). Имеется вот такой вод код:

$(document).ready(function() {
  $('#sidemenu li').hover(
    function() {
      $(this).addClass("active");
      $(this).find('ul').stop(true, true);
      $(this).find('ul').slideDown('slow');
    },
    function() {
      $(this).removeClass("active");
      $(this).find('ul').slideUp('slow');
    }
  );
});

Заранее спасибо!



Последнее исправление: slip (всего исправлений: 1)

Что подразумеватся под задержками? Если надо отложить выполнение действия, то setTimeout.

Y ★★
()

Меню на жабаскриптах… так вот почему глобальное потепление то наступает.

Deleted
()
Ответ на: комментарий от slip
$(document).ready(function() {
  $('#sidemenu li').hover(
    function() {
      $(this).addClass("active");
      $(this).find('ul').stop(true, true);
      var self = $(this); // нужно, потому что this контекстно-зависим
      setTimeout(function () { self.find('ul').slideDown('slow'); }, 1000);
      // два аргумента: указатель на анонимную функцию, которую мы только что создали и которая сделает то, что нам надо через 1000 миллисекунд (собственно, второй аргумент)
    },
    function() {
      $(this).removeClass("active");
      var self = $(this); // нужно, потому что this контекстно-зависим
      setTimeout(function () { self.find('ul').slideUp('slow'); }, 1000);
    }
  );
});
Y ★★
()
Последнее исправление: Y (всего исправлений: 2)
Ответ на: комментарий от slip

+ непосредственно перед открытием (после задержки) проверяй, не ушел ли указатель с элемента.

//Из-за задержки пользователь будет думать, что сайт тормозит.

metrokto ★★
()
Последнее исправление: metrokto (всего исправлений: 1)
Ответ на: комментарий от metrokto

//Из-за задержки пользователь будет думать, что сайт тормозит.

Мы ведь не знаем, какая у него задержка ;-)

Может она ничтожна.

Y ★★
()
Последнее исправление: Y (всего исправлений: 1)

Настоящие мужчины, говорят, переходят с меню с задержками к хитрым меню, которые не переключаются, когда пользователь ведет мышку по прямому пути к цели в под-меню. Для этого, кстати, есть готовый плагин к jQuery.

Да и для обычного меню с задержками плагин есть...

proud_anon ★★★★★
()

$(this).delay(1000).slideUp(), не? За работоспособность не ручаюсь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.