如何使用(location.hash)和(.trigger)进行导航
how to use (location.hash) and (.trigger) to navigate?
我有 5 个 (div) 全部隐藏,我使用 .click 函数隐藏其中的 4 个并显示 1..(每个按钮 1 个)例如:该网页 :
<div id="div1">hi<div>
<div id="div2">hello<div>
jquery:
$("#b1").click(function(){
$("#div1").hide(500);
$("#div2").show(500);
});
$("#b2").click(function(){
$("#div2").hide(500);
$("#div1").show(500);
});
当我单击 B2 时,URL 更改为>主页#Div2我使用了location.hash和.trigger。因此,当用户在URL中输入home#div2时,jquery激活了b1.click
if(location.hash == "#div2"){
$("#b1").trigger("click");
}
从逻辑上讲,它应该隐藏div1 并显示div2但即使我手动单击 B1 或 B2,它也不会显示任何内容。
我做错了什么?!
看起来您的问题是由您的div
标签未正确终止引起的。我将它们更改为:(请注意标记终止符中的正斜杠。
<div id="div1">hi</div>
<div id="div2">hello</div>
这个完整的示例在 Chrome 中对我有用:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" language="Javascript"
src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#b1").click(function(){
$("#div1").hide(500);
$("#div2").show(500);
});
$("#b2").click(function(){
$("#div2").hide(500);
$("#div1").show(500);
});
if(window.location.hash == "#div2"){
$("#b1").trigger("click");
}
else if(window.location.hash == "#div1"){
$("#b2").trigger("click");
}
alert(window.location.hash);
});
</script>
</head>
<body>
<input type="button" id="b1" value="b1"></input>
<input type="button" id="b2" value="b2"></input>
<div id="div1">hi</div>
<div id="div2">hello</div>
</body>
</html>
相关文章:
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- angular 1.5应用程序中的导航栏
- 无法从jquery Mobile导航栏重定向到另一个页面
- 引导程序:在导航栏中,显示悬停在单个位置的基于Li Link的不同内容
- 导航到特定事件的另一个变量页面
- MVC 3页面导航和使用javascript传递参数
- 如何在react js中从一个页面导航到另一个页面
- 导航栏没有调整到浏览器屏幕的大小
- 显示放大镜弹出窗口时隐藏导航内容
- DataTable按下键选择扩展/导航
- 正在检测导航到<a name=“;最新主题”></a>
- 带有url的单页网站导航
- 父页面的角度路由器导航高亮显示
- 如何正确编程jQuery动画与平滑(导航栏)
- 动态更改'汉堡包'导航取决于BG图像
- 使用导航属性创建Kendo UI网格模型的问题
- Flexslider导航按钮在悬停时不可见,带有橙色框
- 离开页面导航后保留文本区域内容
- 当主导航离开视图时,为粘性导航应用样式
- 如何使用(location.hash)和(.trigger)进行导航