Используйте JQuery preventDefault (), но все же добавьте путь к URL-адресу

Я работаю над веб-сайтом, где при нажатии на определенную ссылку панель входа в систему будет перемещаться вниз. Я использую event.preventDefault () , чтобы остановить перенаправление сайта, а также событие анимации, чтобы сдвинуть панель вниз. При щелчке по ссылке панель сдвигается вниз, а URL-адрес остается неизменным.

Я хочу, чтобы при щелчке по ссылке панель отображалась как обычно, но чтобы атрибут href ссылки отображался в URL. В этом случае это будет примерно так: http: // имя_домена / # логин .

Вот код, который я использую прямо сейчас:

$("#login_link").click(function (e) {
    e.preventDefault();
    $("#login").animate({ 'margin-top': 0 }, 600, 'linear');

    window.location.hash = $(this).attr('href');
});

Этот код успешно добавляет '# login 'на URL-адрес по желанию, но пропускает анимацию панели входа. При нажатии на ссылку панель появляется мгновенно. Я хотел бы сохранить как анимацию, так и обновленное поведение URL. Возможно ли это?

10
задан Shadow The Princess Wizard 7 August 2011 в 07:30
поделиться