Javascript.RU

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

Фича для нуба
Всем привет!
Недавно начал изучать javascript и jquery, и вот столкнулся с такой бедой.

$('#btn').hover(function(){
        $(this).animate({width: '100%'}, 1000);
    },function(){
        $(this).animate({width: '200px'}, 1000);
});


Если навести курсор на элемент с id="btn", он увеличится в размерах, если убрать курсор, он уменьшиться. Так как интервал выполнения данной функции 1000, увеличение/уменьшение размера идет очень плавно.
Так вот. Если раз 5 или больше навести на этот элемент, скрипт будет выполняться 5 или больше раз, и не остановится пока не выполнит все разы. Это выглядит ужасно. С таким интервалом выглядит как лаг.

Как же это пофиксить?
Ответить с цитированием
  #2 (permalink)  
Старый 30.10.2015, 19:05
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

На CSS же можно, зачем jQuery?
<style>
button {
    width: 100px;
    -webkit-transition: width 0.5s linear;
    -moz-transition: width 0.5s linear;
    -o-transition: width 0.5s linear;
    transition: width 0.5s linear;
}

button:hover {
    width: 100%;
}
</style>
<button>Button</button>
Ответить с цитированием
  #3 (permalink)  
Старый 30.10.2015, 19:15
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

http://jquery-docs.ru/Effects/stop/
Ответить с цитированием
  #4 (permalink)  
Старый 05.11.2015, 13:33
Интересующийся
Отправить личное сообщение для newbie guy Посмотреть профиль Найти все сообщения от newbie guy
 
Регистрация: 30.10.2015
Сообщений: 12

можно и на css, но у меня конкретная задача сделать с помощью JQuery...

функция stop() помогла, спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 06.11.2015, 08:01
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

Я обычно делал stop, ибо не приоритетно было, но вообще для того чтоб сделать все по человечьи используют работать надо с очередью https://api.jquery.com/queue/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Идеи для фотосессии VIPuts Ваши сайты и скрипты 9 19.12.2015 15:47
Бесплатный Сервис для создания блога для программиста khusamov Оффтопик 34 27.05.2015 17:28
[job] JS-разработчик (+Angular) на UI внутреннего проекта (для других разработчиков:) Anna-HR Работа 12 19.01.2015 13:50
drag-and-drop и position:fixed dotwatt Элементы интерфейса 5 05.12.2012 08:44
IDE для Java Script constant Библиотеки/Тулкиты/Фреймворки 0 27.09.2012 09:31