html页⾯内锚点定位及跳转⽅法总结
第⼀种⽅法,也是最简单的⽅法是锚点⽤<a>标签,在href属性中写⼊DIV的id。如下:
<!DOCTYPE html>
<html>
<head>
java下载安装32位<style>
div {
height: 800px;
width: 400px;
常量定义的符号border: 2px solid black;
}
h2 {
position: fixed;
margin:50px 500px;
}
position和location的区别</style>
</head>
<body>
<h2>
<a href="#div1">to div1</a>
skew<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="code.jquery/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;
});
linux系统安装需要分区吗$("#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;float赋值语句
});
});
</script>
注意:运⾏上⾯的脚本的之前,先将为锚点增加相应的id,同时去掉href属性。
$("html, body")可以替换为响应的div,如果不起作⽤,试着给该div增加overflow:scroll属性。
另外,脚本可以进⼀步优化,⾃⼰来试试
这样做的好处是:URL地址不会变,同时点击锚点时会⾃动响应scroll事件,不需要重新绑定。
缺点是:如果页⾯复杂的话,偏移值可能会发⽣变化需要算法辅助。
第四种⽅法是⽤js的srollIntoView⽅法,直接⽤:
这种⽅法的好处,是URL不会变,同时能够响应相应的scroll事件,不需要算法什么的。推介⼤家⽤第四种,我依次试了前三种,都有各种问题。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论