2017-02-16 10 views
0

У меня есть навигация (class = "menu-js-nav"), и каждый элемент (a) является ссылкой на другой веб-сайт. Я хочу анимировать элемент «a» при щелчке мыши, и когда анимация закончена, браузер должен открыть веб-сайт щелкнутого элемента «a».Как я могу анимировать элемент «a» щелчком мыши перед перенаправлением?

Итак, я пытался предотвратить дефолт, а затем сделать анимацию. Теперь мне нужно выполнить действие по умолчанию, которое было предотвращено. Я пробовал несколько способов, но меня всегда перенаправляли на ссылку без анимации. Как мне написать код, чтобы сказать, что (после щелчка мыши) сначала я хочу сделать анимацию элемента «a» и ПОСЛЕ того, что я хочу перенаправить на желаемый веб-сайт?

$('.menu-js-nav a').on('click', function(e) { 
    e.preventDefault(); 

    $(this).addClass('spinner').css({ 
     position: 'relative' 
    }).animate({ 
     left: 150 
    }, 1000).animate({ 
     top: -1000 
    }, 1000); 
}); 
+1

'animate' принимает функцию обратного вызова, который вызывается всякий раз, когда анимация завершается - смотрите параметр' complete' HTTP: //api.jquery .com/animate/ – ewcz

ответ

2

Согласно jquery documentation анимировать поддержку вызова функции в полном разделе.

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

$('.menu-js-nav a').on('click', function(e) { 
    e.preventDefault(); 
    link_to = $(this).attr('href'); 
    $(this).addClass('spinner').css({ 
     position: 'relative' 
    }).animate({ 
     left: 150 
    }, 1000).animate({ 
     top: -1000 
    }, 1000, function(){ 
      //open your link here 
      window.location.href = link_to; 
     }); 
}); 
+0

Привет, что я должен вводить в '// открывать вашу ссылку здесь'? В каждом «a» есть другой href, например index.html, contact.html, about.html ... Итак, мне нужно открыть тот, на который был нажат. Я не могу написать здесь только один, поскольку я не знаю, какой из них будет выбран пользователем. – Jayna

+1

Я отредактировал ответ, чтобы включить то, что вы просите. Обратите внимание, что, поскольку я не видел ваш html, я предполагаю, что каждая ссылка находится в атрибуте href. –

+0

Большое спасибо! Он отлично работает !!! :-) – Jayna

 Смежные вопросы

  • Нет связанных вопросов^_^