首页 > 解决方案 > 如何切换 jquery 哈希 url

问题描述

这是漫长的一天,我怀疑这是造成这个看似简单的问题的原因。

我有一个汉堡菜单,我需要#url打开它,它需要在以下之间切换:

Open = #open
Close = #close

我的jquery代码如下所示:

        $('.menu').click(function () {
            $(this).attr("href","#close");
        });

我的html样子是这样的:

 <a href="#open" class="menu">
   <b></b>
   <b></b>
   <b></b>
   <span>Menu</span>
</a>

我可以很好地打开菜单,我也可以关闭它,但是,一旦我关闭了菜单,我就无法再次打开它,因为它href仍然显示为#close. 所以,我想知道如何切换它,所以不管url,href是相反的吗?

我感谢任何帮助。

标签: jquery

解决方案


我通常使用<a href="#open">但也可以选择window.location.hash. 处理它的一个好方法是使用以下内容来执行您的操作:

$(window).on('hashchange', function() {
});

我使我的哈希字符串与 HTTP GET 字符串完全一样,手动解析这些对,然后将其发送到 AJAX 调用。这是让 AJAX 使用直接链接和浏览器历史记录的好方法。


推荐阅读