【问题标题】:Redirect to hash url using Jquery使用 Jquery 重定向到哈希 url
【发布时间】:2014-08-14 03:41:34
【问题描述】:

我在某个延迟/时间限制内看到了站点重定向,但是是否可以在只有哈希 URL 的页面中执行此操作?

在页面中重定向哈希位置的代码是什么?例如,我们目前在#home,然后当我单击#load 时,它会等待 5 秒然后重定向到 #about - 所有这些都在一个页面中,只是不同的哈希/#。

谢谢!

【问题讨论】:

  • 您可以使用window.location.hash = 'foo';更改哈希
  • 有人给出了答案:您可以使用 setTimeout 来延迟任何操作。以下将允许在单击加载链接后有 5 秒的延迟(假设 loadLink id)。这里的哈希链接没什么特别的,在任何链接上都一样。 $('#loadLink').on('click', function () { setTimeout(function () { //大约 5 秒后导航到 }, 5000); });要执行的函数之后的第二个参数是等待的时间,以毫秒为单位。我正在使用它但是没有“点击”功能自动重定向的代码是什么?

标签: javascript jquery url redirect hash


【解决方案1】:

就这么简单

$(location).attr('href', 'index.php');
window.location.hash = "#about";
location.reload();

  1. 选择你想去的地方
  2. 指定您要访问的网站部分的位置
  3. 重新加载网站以使用哈希函数。

【讨论】:

    【解决方案2】:

    好吧,如果您单击已与另一个哈希关联的锚点(会很好奇,但这是我的理解),您首先必须防止默认行为,然后您可以重定向。

    假定的 HTML

    <a href="#load">some link</a>
    

    JS(一旦文件准备好)

    $('a[href="#load"]').click(function (e) {
        e.preventDefault();
    
        setTimeout(function () {
            window.location.hash = 'about';
        }, 5000);
    
    });
    

    编辑:“转到#load 将自动重定向,延迟 5 秒,无需点击”

    $(window).on('hashchange', function () {
        if (window.location.hash == '#load') {
            setTimeout(function () {
                window.location.hash = 'about';
            }, 5000);
        }
    });
    

    【讨论】:

    • 谢谢!但是不使用“点击”功能可以吗?去#load会自动重定向,延迟5秒不点击?
    • 像魅力一样工作!太感谢了! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 2018-09-14
    相关资源
    最近更新 更多