Javascript.RU

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

Проблема с Confirm, jQuery animate в Chrome
В общем есть такой код:
$('a').click(function(){
  if(confirm('Confirm me!'))
  {
    $(this).animate({marginLeft:100},1000,'linear',function(){
      alert('message');
  });
}
});

Проблема заключается в следующем. В Хроме после вывода окна confirm и нажатия кнопки ОК происходит пауза, после которой объекту, к которому применяется animate, ставится margin-left: 100px, а затем выполняется complete-функция(в которой alert).
Так вот, продолжительность этой паузы зависит от времени между появлением окна confirm и нажатием кнопки ОК. В остальных браузерах вроде все работает нормально. Это какой-то баг jQuery, браузера или я что-то не так делаю?
Кому интересно, вот пример: http://narod.ru/disk/27682554001/index.html.html
Ответить с цитированием
  #2 (permalink)  
Старый 08.10.2011, 14:21
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Да просто укажите смещение не 100, а '100px'
Ответить с цитированием
  #3 (permalink)  
Старый 08.10.2011, 14:37
Новичок на форуме
Отправить личное сообщение для dimonrus66 Посмотреть профиль Найти все сообщения от dimonrus66
 
Регистрация: 08.10.2011
Сообщений: 3

Сообщение от zebra Посмотреть сообщение
Да просто укажите смещение не 100, а '100px'
не. это не решает проблему.
Ответить с цитированием
  #4 (permalink)  
Старый 08.10.2011, 15:08
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Просто у меня почему то не работала анимация из-за этого Потестил скпирт ешё раз и получилось в хроме так :
$('a').click(function(e) {
		e.preventDefault();
		var elem = $(this);
		setTimeout(function() {
			if(confirm('Confirm me!')){
				elem.animate({ 'margin-left' : '100px'}, 100,function(){
					console.log('hello!');
				});
			}				
		}, 100);
	});
Ответить с цитированием
  #5 (permalink)  
Старый 08.10.2011, 16:54
Новичок на форуме
Отправить личное сообщение для dimonrus66 Посмотреть профиль Найти все сообщения от dimonrus66
 
Регистрация: 08.10.2011
Сообщений: 3

Ух ты, правда заработало! Спасибо!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с работой jquery Артём Финк jQuery 9 02.07.2011 15:55
Ошибка в jQuery 1.5.1. Не понимаю в чем проблема? viatcheslav AJAX и COMET 0 16.05.2011 11:38
jQuery, функция animate(), рекурсия xintrea jQuery 12 03.01.2011 12:33
Проблема с вкладками на jquery tomclancys Общие вопросы Javascript 0 11.03.2010 08:44
jquery tabs (проблема с отображением) Extern Элементы интерфейса 0 16.03.2009 17:42