hash 属性是一个可读可写的字符串,该字符串是URL的锚部分(从#号开始的部分).
语法
location.hash
刚开始我真不知道hash有什么用,直到我在项目中遇上一个最大的问题。而且很恶心的体验

我的简单案例
在我这个项目中,好多页面都是tab选项
比如选项1 选项2 选项3 选项4
但我单击选项3 想看选项3的下面内容。
我一刷新又恢复到选顶1 默认的效果。
不能保存页面状态。为此我真被自己恶心到 ,也有替用户考虑过,毕竟我深有体会过用户是最好的体验。
我在想刷新如何保存选项3和下面的内容呢,而不是按F5重新载入又恢复到最始化~
于是我想到了一个办法 用location.hash。
如果你是新手你可以打开控制台
然后输入location.hash 比如www.baidu.com#fr

结果是#fr

我再举个例子并贴出代码  你们测试看看有什么不同? 比如按每日任务刷新一下 会不会回到新手任务的选项状态?

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div class="person_rights">
<h2 class="tab_h2"> <span class="selected" href="#news">新手任务 </span> <span href="#day">每日任务</span> <span href="#active">活动任务</span> <span href="#jifen">积分规则</span> <span href="#deep">等级权益</span> </h2>
<div class="abar">
<ul class="integral">
<li> </li>
<li> </li>
</ul>
<ul class="integral" style="display:none;">
<li>
每日任务
</li>
</ul>
<ul class="integral" style="display:none;">
<li>活动任务</li>
</ul>
<ul class="jifen" style="display:none;">
<li>积分规则</li>>
</ul>
<ul class="deep" style="display:none;">
<li>
积分规则
</li>
</ul>
</div>
</div>
<script src="js/jquery.js"></script>
<script>var $div_li = $(".tab_h2 span");
$div_li.click(function() {
$(this).addClass("selected").siblings().removeClass("selected");
var URLS=$(this).attr("href");
location.hash=URLS;
var index = $div_li.index(this);
$(".abar>ul").eq(index).show().siblings().hide();
}); </script>
</body>
</html>

上面的代码明显不会

我再贴出一段代码

var j=5;
for(i=0;i<j;i++){
var ti=$(".tab_h2 span").eq(i).attr("href");
if(location.hash==ti){
$(".tab_h2 span").eq(i).addClass("selected").siblings().removeClass("selected");
$(".abar>ul").eq(i).show().siblings().hide();
}
};

  把这段代码和上面放一起。再测试一下 会不会有变化  。

注意自行引用jquery库(本人不提供jquery)

//cdn.bootcss.com/jquery/3.1.0/jquery.min.js

   请自行复制并替换

<script src="js/jquery.js"></script>
<script src="//cdn.bootcss.com/jquery/3.1.0/jquery.min.js"></script>

location.hash需求

最新文章

  1. Javascript的函数自调
  2. RxJava 的使用入门
  3. 第二十八课:focusin与focusout,submit,oninput事件的修复
  4. 使用sysprep克隆虚拟机
  5. OperService.class.php
  6. Socket 之 c#实现Socket网络编程
  7. Zabbix 集成 OneAlert 实现全方位告警
  8. (转)实战Memcached缓存系统(1)Memcached基础及示例程序
  9. Python介绍、环境搭建(Eclipse插件)、第一个程序
  10. C# mvc 验证码3
  11. TheFifthWeekText
  12. IDL 实现 EOF(经验正交函数分析)
  13. Oracle的一些简单语句
  14. JavaSE_坚持读源码_HashSet对象_Java1.7
  15. Pyinstaller打包selenium去除chromedriver黑框问题解决!!!
  16. NYOJ 542 试制品(第五届河南省省赛)
  17. WINDOWS SERVER 2008远程桌面端口修改方法
  18. Numpy 基础运算
  19. Get方法和post方法有何不同?
  20. 【spring框架】spring获取webapplicationcontext,applicationcontext几种方法详解--(转)

热门文章

  1. argparse 模块 在终端执行脚本文件
  2. 017-Hadoop Hive sql语法详解7-去重排序、数据倾斜
  3. Nginx配置参数说明
  4. [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例
  5. 曾经跳过的坑----js截取字符串substr与substring 和 trim
  6. iOS UIWindow 与 windowLevel 学习
  7. Linux文件系统管理 挂载命令mount
  8. 【Head First Servlets and JSP】笔记18:JSP指令
  9. R中的数据重塑函数
  10. 类锁、对象锁、互斥锁与synchronized