使用 JQuery PreventDefault(),但仍将路径添加到 URL

2024-01-30

我正在开发一个网站,点击某个链接将会滑下登录面板。我在用event.preventDefault()阻止网站重定向以及向下滑动面板的动画事件。单击链接时,面板向下滑动,url 保持不变。

单击链接时我希望面板正常显示动画,但链接的 href 属性显示在 url 中。在这种情况下,它会是这样的:http://domain_name/#login.

这是我现在要执行的代码:

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

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

此代码成功地将“#login”添加到所需的 URL,但它跳过了登录面板的动画。单击链接时,面板会立即出现。我想保留动画和更新的网址行为。这可能吗?


使用下面的代码。只需调用动画完成事件中的哈希即可。

$("#login_link").click(function (e) {
    e.preventDefault();
    $("#login").animate({ 'margin-top': 0 }, 600, 'linear', function(){  window.location.hash = $(this).attr('href'); });

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JQuery PreventDefault(),但仍将路径添加到 URL 的相关文章

随机推荐