jquery - 如何切换 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
是相反的吗?
我感谢任何帮助。
解决方案
我通常使用<a href="#open">
但也可以选择window.location.hash
. 处理它的一个好方法是使用以下内容来执行您的操作:
$(window).on('hashchange', function() {
});
我使我的哈希字符串与 HTTP GET 字符串完全一样,手动解析这些对,然后将其发送到 AJAX 调用。这是让 AJAX 使用直接链接和浏览器历史记录的好方法。
推荐阅读
- vue.js - 导入 vue 模板片段导致 [Object Promise]
- vb.net - 如何将访问数据(Credentail)传递给 HttpClient?
- c++ - 无法将元素添加到容器中
如果 T 具有显式构造函数,则使用 emplace new - java - 带有 finally 块和递归的 Java 谜语
- javascript - JavaScript:仅在几秒钟后拨打电话
- java - 如何从存储在地图中的枚举中检索值?
- vue.js - vee-validate 在控制台中验证不存在的字段错误
- flutter - 断言失败:第 137 行 pos 15:'assetName != null':不正确。在颤振中
- c# - 如何通过动画师每 60 秒更换一次动画?
- c - 应用 if 条件在 C 中创建文本文件