Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.01.2016, 09:26
Новичок на форуме
Отправить личное сообщение для Slays Посмотреть профиль Найти все сообщения от Slays
 
Регистрация: 13.01.2016
Сообщений: 1

Прервать события JS
К примеру у нас есть страница:

gubahasport59.ru/uslugi/obuchenie-kataniu.php

Там есть блок с инструкторами, при наведении на которые всплывает блок с информацией.

Проблема в том, что если мы быстро будем наводить на все блоки, событие встают в очередь и начинается хаос. Блоки начинают беспорядочно двигаться.

Нужно, чтобы при наведении на блок, все прежние события, связанные с данными блоками ПРЕКРАЩАЛИСЬ и всплывал только последний из них.

Как это реализовывается ?

Сейчас код следующий:
$('.instructors .block').mouseenter(function(){
        var $this = $(this),
            $description = $this.find('.description');

        $description.animate({top: 0}, 500, function(){
            $this.mouseleave(function(){
                $description.animate({top: 330 + 'px'}, 500);
            });
        });
    });
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2016, 09:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Slays,
перед animate stop
.stop(true,true).animate

и присваивать mouseleave бесконечно ненадо

Последний раз редактировалось рони, 13.01.2016 в 09:42.
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2016, 09:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Slays,
$(".instructors .block").on("mouseenter mouseleave",
 function(event){
         $(".description",this).stop(true,true).animate({top: event.type == "mouseenter" ? 0 : 330}, 500);
    }
)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
События в js Alex961 Общие вопросы Javascript 4 01.01.2016 16:46
Вакансия JavaScript разработчик / JS / Frontend developer (Санкт-Петербург) Сергей Грачёв Работа 0 21.09.2015 12:31
Пример тестовых заданий на js junior elshaarawy Учебные материалы 3 26.03.2015 15:17
Нужно ли удалять события в js? dmitry111 Оффтопик 31 27.11.2012 12:27