Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.10.2010, 15:05
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

помогите разобраться с .animation
ребят, реализовал галерейку на jquery. Фотки сменяются по нажатию стрелок на клавиатуре либо по нажатию кнопок мышкой. Смена выполняется при помощи .animate с заданием свойства margin-left. Но столкнулся с проблемой: если кто-то клацнет подряд 2 раза, то весь скрипт портится... т.к. фотка листнулась наполовину а мы ее еще раз. и получится что-то типа:


Как это исправить? Чтоб по нажатию и вызову события еще раз мы ждали, пока закончится событие, которое уже выполняется?
Ссылка, чтоб протестировать этот баг: вот
Ответить с цитированием
  #2 (permalink)  
Старый 04.10.2010, 15:13
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

удаляйте событие на кнопке на время animate.
или используй .one(... и при калбаке animate опять определяй событие через .one(...
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 04.10.2010, 15:17
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

А возможности поставить в очередь на выполнение - такого не существует? И по .one вопрос тоже тогда. Я вызываю у себя функции так:
$(..).live("click",function(){}); Будет ли работать .one с динамически создающимися элементами DOM?
Ответить с цитированием
  #4 (permalink)  
Старый 04.10.2010, 15:28
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

я про события на стрелках
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 04.10.2010, 15:44
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

на стрелках я лишь еще раз вызываю функции, которые у меня на кнопках:
$(document).keyup(function(e){
		if (e.keyCode==27) $("#for-galery").empty();
		if (e.keyCode==39) $(".next").trigger("click");
		if (e.keyCode==37) $(".prev").trigger("click");
	});
Ответить с цитированием
  #6 (permalink)  
Старый 04.10.2010, 16:00
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

сделал все при помощи глобальной переменной flag:
if (flag==0){
  flag = 1;
  $("#element").animate({},"normal",function(){
    flag = 0; 
  });
}

Все работает... Есть ли более элегантное решение?

Последний раз редактировалось InviS, 04.10.2010 в 16:20.
Ответить с цитированием
  #7 (permalink)  
Старый 04.10.2010, 16:05
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

InviS,
Ну для этого я думаю придётся многое переделать
Хотя может это только я так думаю, код не смотрел.
__________________
.
Ответить с цитированием
  #8 (permalink)  
Старый 05.10.2010, 19:44
Новичок на форуме
Отправить личное сообщение для alexwebck Посмотреть профиль Найти все сообщения от alexwebck
 
Регистрация: 05.10.2010
Сообщений: 6

if ($("#element:animated").size()) return; - пока идет анимация, ничего не делать
Ответить с цитированием
  #9 (permalink)  
Старый 05.10.2010, 23:06
Аватар для InviS
Кандидат Javascript-наук
Отправить личное сообщение для InviS Посмотреть профиль Найти все сообщения от InviS
 
Регистрация: 19.02.2010
Сообщений: 116

пасиб, попробую
Ответить с цитированием
Ответ


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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться!!! Greendumb Общие вопросы Javascript 8 19.08.2010 14:04
Помогите пожалуйста разобраться Kupu4 Ваши сайты и скрипты 0 21.01.2010 10:44
Помогите разобраться с галереей IMAGIN yana_studio Общие вопросы Javascript 4 12.12.2009 17:24
Помогите разобраться с задачей (поиск строки) Absinthe Ваши сайты и скрипты 6 07.12.2009 09:17
Помогите разобраться со скриптом! Чайник Элементы интерфейса 1 13.03.2009 23:57