各有优缺点,锚点的话简单、直观、兼容性最佳,不用担心客户端JS未加载成功的情况,但效果比较生硬;jquery在实现效果上更炫一点,能实现滚动到顶部的过渡动画,但当js功能失效时,就完全无法实现返回顶部的功能了。可以把两者结合起来,在页面顶部设一个锚点(例如:header id="top"),返回顶部的按钮的href属性设置为“top”(锚点的id),并加上onclick事件:
创新互联主要从事网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务丹阳,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
$('#backTop').click(function(e) {
e.preventDefault(); // 取消事件的默认动作
$('body').animate({scrollTop:0}, 400);
});
这样的话当这段js失效时(例如由于网络原因未加载成功),返回顶部功能也不会失效。
本文实例讲述了jquery通过load获取文件的内容并跳到锚点的方法。分享给大家供大家参考。具体分析如下:
昨天在做一个类似于帮助文档型的页面,左边是导航,右边显示的是内容。本来打算右边内容显示区域用iframe来实现,但由于要做iframe的适应高度所以就换了一种方法,使用jquery的ajax中的load方法。
获取远程文件中的内容很容易实现,直接使用jquery的load方法:
$("#content").load("xxx.aspx")
这样很容易将xxx.aspx文件中的内容放在id为content的标签中。现在还要实现的一个效果是:当我获取文件的内容后,要跳到相应的锚点,于是就想到使用jquery的scrollTop,例如我获取文件内容后,要调到id="name"的标签:
$("body,html").animate({scrollTop:$("#name").offset().top});
offset()就是获取匹配元素在当前视口的相对偏移,$("#name").offset().top就是获取ID为name的标签在当前视口距顶部的相对偏移。以上代码综合在一块需这样写:
$(function(){
$("#content").load("xxx.aspx",function(){
$("body,html").animate({scrollTop:$("#name").offset().top});
});
})
为了避免点击导航不断的对服务器发送请求,我们可以将每次获取到的数据存储起来。
当然,这个方法只适合不考虑SEO优化的页面使用。
希望本文所述对大家的jQuery程序设计有所帮助。
1、可以不用引用外部的js,jQuery就能实现;
2、定义好指定的anchor锚点,调用下面的js代码可以让页面平滑的滚动到指定的位置,非常实用,比如返回页面顶部,去往页面底部等功能:
// HTML:
// h1 id="anchor"Lorem Ipsum/h1
// pa href="#anchor" class="topLink"Back to Top/a/p
$(document).ready(function() {
$("a.topLink").click(function() {
$("html, body").animate({
scrollTop: $($(this).attr("href")).offset().top + "px"
}, {
duration: 500,
easing: "swing"
});
return false;
});
});