手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >仿新浪微博返回顶部的jquery实现代码
仿新浪微博返回顶部的jquery实现代码
摘要:一、引言在web页面中,如果页面较高,为了方便用户快速地返回顶部,都会添加一个返回顶部按钮。其中淘宝网的是要滚动条的滚动距离大于某一段距离才...

一、引言

在web页面中,如果页面较高,为了方便用户快速地返回顶部,都会添加一个返回顶部按钮。

其中淘宝网的是要滚动条的滚动距离大于某一段距离才显示返回顶部按钮;人人网的返回顶部直接在底部的工具条上;新浪微博的返回顶部在滚动高度大于0的时候显示,且返回顶部的效果是平滑动画效果。本文的实现就是类似于新浪微博的这种效果。

二、jQuery下的返回顶部功能

您可以狠狠地点击这里:jQuery下的返回顶部demo

可以看到,如果页面有滚动高度,右下角就会有一个含有“返回顶部”字样的黑色背景半透明的小条条,如下图所示:

点击这里“返回顶部”字样的按钮后,页面就像是抹了润滑剂一样,倏地一声就滑到顶部了,同时,该点击按钮也玩起了躲猫猫 – 不见了。

实现的原理嘛,恩……估计鲜有人关心,所以我也懒得浪费口水了,直接上代码。

无论是这里的jQuery实现还是MooTools实现,下面的CSS代码都是一致的,如下:

CSS代码:

复制代码 代码如下:

.backToTop {

display: none;

width: 18px;

line-height: 1.2;

padding: 5px 0;

background-color: #000;

color: #fff;

font-size: 12px;

text-align: center;

position: fixed;

_position: absolute;

right: 10px;

bottom: 100px;

_bottom: "auto";

cursor: pointer;

opacity: .6;

filter: Alpha(opacity=60);

}

JS代码:

复制代码 代码如下:

(function() {

var $backToTopTxt = "返回顶部", $backToTopEle = $('<div></div>').appendTo($("body"))

.text($backToTopTxt).attr("title", $backToTopTxt).click(function() {

$("html, body").animate({ scrollTop: 0 }, 120);

}), $backToTopFun = function() {

var st = $(document).scrollTop(), winh = $(window).height();

(st > 0)? $backToTopEle.show(): $backToTopEle.hide();

//IE6下的定位

if (!window.XMLHttpRequest) {

$backToTopEle.css("top", st + winh - 166);

}

};

$(window).bind("scroll", $backToTopFun);

$(function() { $backToTopFun(); });

})();

三、MooTools下返回顶部功能实现

您可以狠狠地点击这里:MooTools下的返回顶部demo

demo页面的效果与上面jQuery demo下效果基本一致。

代码部分。CSS代码完全同上。JS代码如下:

复制代码 代码如下:

(function() {

var $backToTopTxt = "返回顶部", $backToTopEle = new Element("div", {

"class": "backToTop",

title: $backToTopTxt

}).set("text", $backToTopTxt).addEvent("click", function() {

var st = document.getScroll().y, speed = st / 6;

var funScroll = function() {

st -= speed;

if (st <= 0) { st = 0; }

window.scrollTo(0, st);

if (st > 0) { setTimeout(funScroll, 20); }

};

funScroll();

}).inject(document.body), $backToTopFun = function() {

var st = document.getScroll().y, winh = window.getSize().y;

(st > 0)? $backToTopEle.setStyle("display", "block"): $backToTopEle.setStyle("display", "none");

//IE6下的定位

if (!window.XMLHttpRequest) {

$backToTopEle.setStyle("top", st + winh - 166);

}

};

window.addEvents({

scroll: $backToTopFun,

domready: $backToTopFun

});

})();

直接拷贝上面的代码在您的JS代码中就轻松实现效果啦。

MooTools的动画方法Fx不支持滚动,要实现滚动条的平滑滚动效果需要使用Fx.Scroll插件。但是,显然, 这里的简单功能没有必要再使用额外的插件,所以直接设置了个定时器实现了平滑滚动效果。

注:demo页面中的美女图片作用是撑开页面高度使产生滚动条。

四、结语

其实实现页面返回顶部效果最简单的就是a标签然后href属性值直接就是#锚点就ok了。但是这种方法会在url地址后面产生一个”#”。关于锚点相关的内容您可以参见我之前的“关于锚点跳转及jQuery下相关操作与插件”一文。

【仿新浪微博返回顶部的jquery实现代码】相关文章:

打印/预览/设置的客户端代码

网页里控制图片大小的相关代码

基于jquery实现下拉框美化特效

7个有用的jQuery代码片段分享

些很实用且必用的小脚本代码

JS动画效果打开、关闭层的实现方法

jquery实现的判断倒计时是否结束代码

jquery实现弹出层效果实例

10条建议帮助你创建更好的jQuery插件

设为首页 加入收藏的js代码

精品推荐
分类导航