2013-07-03 3 views
1

Хорошо, я, может быть, немного вырвался из кофеина, чтобы понять это самостоятельно, но я пытаюсь выяснить, как перенаправить посетителей на страницу после того, как изображение брызг исчезло.jquery fade then redirect

$(document).ready(
function 
() 
{$('.wrapper a img').hover(
     function() 
     { 
      $(this).stop().animate({ opacity: .4 } , 200); 
      settimeout(function(){window.location = '/blog';}, 200); 
     } 
)}); 

Это не работает и drving мне немного Натт

ответ

3

.animate позволяет определить функцию обратного вызова, которая будет вызываться, когда анимация завершена:

$(this).stop().animate({ opacity: .4 } , 200, "swing", function() { 
    window.location = '/blog'; 
}); 

Третий аргумент ("swing") является просто значением по умолчанию для этого параметра.

Альтернативный синтаксис то же

.animate({ opacity: .4 }, { 
    duration: 200, 
    complete: function() { window.location = '/blog'; } 
); 

Наконец, еще один способ заключается в использовании .promise, которая будет завершена, когда очередь анимации для элемента пустой (т.е. все анимации закончились):

.animate({ opacity: .4 } , 200) 
.promise().done(function() { window.location = '/blog'; });