网页三种跳转方法
最近在做一个期末设计,使用的jQuery Mobile设计移动网站,想要实现网页内部指定位置进行跳转,可过程并不顺利。
(1) 一开始使用的方法是利用a标签进行锚定跳转。
要想通过a标签跳转到指定的位置, 那么必须告诉a标签一个独一无二的身份证号码, 这样a标签才能在当前界面中找到需要跳转到的目标位置;
在HTML中, 每一个标签都有一个名称叫做id的属性, 这个属性就是用来给标签指定一个独一无二的身份证号码的 。
例子:
<a href="#center">跳转到中部</a>
<h2 id="center">我是中部</h2>
可这种方法不适用我此时的场景。
(2)我尝试的的第二个方法是jQuery的scrollTop()方法,这个方式是返回指定元素的滚动条的垂直位置,使用方法是:
<script language="javascript" type="text/javascript">
$(function(){
$("#naicha").click(function(){
$("html,body").scrollTop(t);
var t = $("#xxxx").offset().top;
$(window).animate({scrollTop:$("#xxxx").offset().top},1500);
});
});
</script>
这种方法也是我从网上百度得来的,我想要实现的效果获取一个div的id为“xxx”相对于顶部的编译,然后使其在1500毫秒内移动到顶部的一个效果,但是这个方法也不能适用我,可能是因为我引用的位置CSS样式文件的display:none有冲突。
(3)最后一个办法是使用Element.scrollIntoView()方法,让当前元素跳转到可视区域内;
<script language="javascript" type="text/javascript">
$(function(){
$("#naicha").click(function(){
$("#xxxx")[0].scrollIntoView(true);
});
});
</script>
通过这个办法,我成功实现我想要的效果;需要注意的是:它的跳转效果是没有动画效果的,是瞬间跳转;在这里通过$("#xxx"),获取的是id为XXX的JQuery对象,通过加上[0]使其转换为DOM对象,这样才能使用这个方法。
好了,我的分享就到这里了。这是我的第一篇博客,肯定有许多不足的地方,但是这也记录我的学习过程中的点点滴滴,希望可以在这条路上越走越远。
本文介绍了三种网页内部跳转的方法:使用a标签锚点跳转、jQuery的scrollTop()方法及Element.scrollIntoView()方法。详细解析了每种方法的实现原理、使用场景及局限性,最终通过Element.scrollIntoView()成功实现了预期的跳转效果。
1万+

被折叠的 条评论
为什么被折叠?



