锚点,在地址栏http://localhost:8000/Demo1/js锚点.html#a   跳转到指定位置可以是 <a>标签的name 也可以是标签的id。

曾经看到有锚点的页面,但在代码里看不到name或id为那个锚点的标签,很是费解。在网上一顿查,原来可以使用 window.location.hash 这个便是获取或设置锚点。这难道又是基础不扎实的表现吗?w3school上面是有这东西。

看代码

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js锚点</title>
<script src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
$(function () {
$("#demo a").on("click", function () {
var self = $(this);
var hash = self.attr("href").split('#')[1];
window.location.hash = "m-" + hash;
});
});
</script>
</head>
<body>
<div id="demo">
<a href="#a">跳转A</a>
<a href="#b">跳转B</a>
</div>
<div style="height: 500px;background-color: #00ced1"></div>
<div id="m-a" style="height: 200px;background-color: #b6ff00"> </div>
<div id="m-b" style="height: 200px;background-color: #808080"> </div>
</body>
</html>

还有个小问题,地址栏有锚点时 F5刷新 页面不会跳转到指定位置,可以这么搞一下。

$(function () {
var hash = window.location.hash;
var id = hash.split('#')[1];
if (id) {
var t = $('#m-' + id).offset().top;
$(window).scrollTop(t);
}
});

这样就能刷新跳过去了。这个方法还可以改造下,加个动画,点了锚点以后让页面慢慢的走到锚点。

最新文章

  1. Android ShapeDrawable
  2. linux 环境变量PATH路径的三种方法
  3. 同域iframe的高度自适应
  4. 设置浮点数的显示精度&amp;precision(0)
  5. MYSQL event_scheduler
  6. ProtoBuffer 简单例子
  7. Linux - IP数据报报头及个字段的意义
  8. Ubuntu 14.04 鼠标消失解决方案
  9. handsontable 合并单元格
  10. HttpUtil 【判断网络连接的封装类】
  11. [Swift]LeetCode421. 数组中两个数的最大异或值 | Maximum XOR of Two Numbers in an Array
  12. 快速搭建WebAPI(Odata+Code-First)附Odata条件查询表~
  13. css样式兼容各个浏览器时的部分总结
  14. Java提高(5)---map集合排序
  15. JSP 基础(一)
  16. Cloud Foundry中DEA启动应用实例时环境变量的使用
  17. 加载ConversationListActivity以及延迟的使用
  18. SSO-CAS单点登录
  19. [python爬虫] Selenium定向爬取PubMed生物医学摘要信息
  20. Nigix配置

热门文章

  1. Java单例的实现
  2. 第04章-VTK基础(2)
  3. IconTabPageIndicator
  4. mysql order by的一些技巧
  5. A new session could not be created. (Original error: Requested a new session but one was in progress) )错误解决办法
  6. 自定义UISearchDisplayController的“No Results“标签和”Cancel“按钮
  7. Hadoop提供的reduce函数中Iterable 接口只能遍历一次的问题
  8. bash的pushd和popd
  9. 组合模式(遍历树,file基表示文件也表示文件夹)
  10. (linux)tasklet