零基础建站培训介绍

当前位置:

html锚点定位四种方法

第一种方法,也是最简单的方法是锚点用<a>标签,在href属性中写入DIV的id。如下:

<!DOCTYPE html>
<html>
<head>
<style>
div {
height: 800px;
width: 400px;
border: 2px solid black;
}
h2 {
position: fixed;
margin:50px 500px;
}
</style>
</head>
<body>
<h2>
<a href="#div1">to div1</a>
<a href="#div2">to div2</a>
<a href="#div3">to div3</a>
</h2>
<div id="div1">div1</div>
<div id="div2">div2</div>
<div id="div3">div3</div>
</body>
</html>
这种方法的缺点是点击锚点之后,浏览器的URL会发生变化,如果刷新可能会出现问题。

第二种方法是在js事件中通过window.location.hash="divId"跳转,但地址也会发生变化,感觉跟第一种方法没区别,甚至更麻烦。

第三种方法是用animate属性,当点击锚点后,页面滚动到相应的DIV。接着上面的代码,具体添加如下代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#div1Link").click(function() {
$("html, body").animate({
scrollTop: $("#div1").offset().top }, {duration: 500,easing: "swing"});
return false;
});
$("#div2Link").click(function() {
$("html, body").animate({
scrollTop: $("#div2").offset().top }, {duration: 500,easing: "swing"});
return false;
});
$("#div3Link").click(function() {
$("html, body").animate({
scrollTop: $("#div3").offset().top }, {duration: 500,easing: "swing"});
return false;
});
});
</script>

注意:运行上面的脚本的之前,先将为锚点增加相应的id,同时去掉href属性。

$("html, body")可以替换为响应的div,如果不起作用,试着给该div增加overflow:scroll属性。

另外,脚本可以进一步优化,自己来试试

这样做的好处是:URL地址不会变,同时点击锚点时会自动响应scroll事件,不需要重新绑定。

缺点是:如果页面复杂的话,偏移值可能会发生变化需要算法辅助。
第四种方法是用js的srollIntoView方法,直接用:

document.getElementById("divId").scrollIntoView();

这种方法的好处,是URL不会变,同时能够响应相应的scroll事件,不需要算法什么的。
推介大家用第四种,我依次试了前三种,都有各种问题。

上一课: 下一课:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关教程

  • 在自己做网站时,网站上有时需要制作HTML表单,表单中的填写项为了防止别人恶意提交,需要进行验证。下面介绍一下HTML表单中正则验证邮箱、手机、电话
  • 首先介绍一下什么是网页,网页是由HTML组成的一个特殊文档,它存放在网络中某台服务器中,我们如果知道了这个文档的存放位置,然后在网页浏览器中输
  • ASP 声明变量ASP 声明变量用Dim来声明(或者说定义)变量,注意,所有变量都要声明,但可以写为同一行<%dim namename="Donald Duck&quo
  • 小白如何学习好java (7409 次浏览)
    对于新手小白来说,要想学好Java,应该注重以下几个方面:第一:正确理解Java的各种“抽象”。学习Java就是学习各种“抽象”,包括类、接口和抽象类等,
  • 丰富多样的网络工具和资源的出现,使网页设计变得轻松而简单。这里介绍 28 款在线工具和生成器,以帮助你更快捷方便地设计页面。1. Lorem Ipsum Gene
  • 初学者怎样学习网页制作呢?对于初学者,网站设计有一定难度,但是网页设计特别重要,在织梦仿站教程中也需要使用到网页设计。我们需要使用一些软件,
  • 微网页制作方法 (7137 次浏览)
    微网页是为适应高速发展的移动互联网市场环境,而开发封闭式的应用客户通过微信微博,等社会化的工具实现传播、转介绍、营销型微网页转化率高,由客服
  • 网页设计培训内容包括:PhotoshopCS6课程内容关键学习培训流行图象处理手机软件Photoshop的图象处理、编写、安全通道、涂层、相对路径综合性应用;图
  • 怎么制作网页 (6471 次浏览)
    网页是由HMTL和CSS组成的,通过HTML代码和CSS代码我们就可以制作出一个网页。下面介绍一下网页制作方法。打开DW网页编辑软件新建HTML有两种方法
  • 自适应网页制作方法 (6400 次浏览)
    自适应网页制作方法特别先想到的是css3的媒体查询 media-screen 控制在不同尺寸下显示。这里说个题外话,css中的像素单位px,是逻辑像素。不是设备的