2015-07-24 7 views
-1

У меня проблемы с получением моего скрипта. Я использую этот бит кода от Codyhouse, чтобы добавить навигацию на мою страницу. Основы этого: щелчок гамбургера открывает его, затем, когда вы нажимаете на ссылку, она должна прокручивать страницу до этого места, закрывая меню.Задержка нажимать на ссылку до после анимации

Это все работает отлично, но поскольку анимация использует преобразование: translateY(170px);, ссылка находит ее позицию, но когда она добирается до нее, страница была перемещена на 170 пикселей, в результате получилось 170 пикселей ниже, где она должна быть на экране.

Моей целью исправить было отсрочить щелчок по ссылке до окончания анимации, которая длится 0,5 секунды, а затем перейти к точке на странице.

Это мой сценарий,

$('.nav-click').click(function (e) { 
    e.preventDefault();     
    var goTo = this.getAttribute("href"); 
    setTimeout(function(){ 
     window.location = goTo; 
    },2000);  
}); 

Результат моего сценария является то, что при нажатии на ссылку, он все еще прокручивает в положение на странице, а затем, после 2-х секунд у меня есть в настоящий момент он переместится в нужное место на странице.

Он должен ждать 2 секунды, а затем после этого href.

+1

Попробуйте 'var goTo = this.href;' получить абсолютный URL –

+0

Спасибо за ответ. Проблема заключается не в том, что у него нет правильного URL-адреса, но что задержки не происходит. Тем не менее, я пробовал это, и это не имело значения. –

+0

Что делать, если вы не установили goTo var до тех пор, пока не произойдёт время? Я не знаю, поможет ли это, но может. –

ответ

0

Попробуйте делать что-то вроде этого:

$('.nav-click').click(function(e) { 
    e.preventDefault(); 
    var goTo = this.getAttribute('href'); 

    var interval = setInterval(function() { 
     if (!$('main').hasClass('nav-is-visible')) { 
      clearInterval(interval); 
      window.location = goTo; 
     } 
    }, 100); 
}); 
+0

Это не имело никакого значения для результата моего сценария. Спасибо за ответ, хотя. Я решил просто удалить преобразование все вместе, так как я предпочел бы, чтобы работа с ссылками работала, но немного работает. –

0

Я не нашел решение этой проблемы, но решили удалить преобразование со страницы все вместе, как ссылки, идущие в нужном месте для меня важнее то имеющий этот эффект.

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