插件:我的第一个插件–简约的scrollTop滑动插件

分类:jQuery, 插件开发 发表时间:2009年11月2日 字体大小:12号14号

周末无事,便写了一个简约的scrollTop插件。在前面的文章(jQuery:Scrolltop滑动插件推荐(修正注释版))中,我曾介绍过一款我在网络收集的相关插件。但发现该作者的代码确实很繁琐,不是很优雅。而我的该scrollTop插件代码就那么十多行,代码非常简单,也非常实用,适合大众使用!

这也是算是我的jQuery插件开发之旅的开端吧,以后一有机会我就会陆续开发一些自己的插件,也尽量写一些简约的插件与大家分享。也希望有这方面的朋友可以多多交流。话不多说,上插件!

downloaddemo

插件代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
jQuery.fn.extend({
 
	scrollTop: function(params) {
 
		// 给出默认的参数值
		// 默认情况下,不传参数,没有滑动效果:scrollAnimation = false
		// 若只传一个参数scrollAnimation: true,则默认的速度是500
		var scrollAnimation = false, speed = 500;
 
		if(params != null) {
			scrollAnimation = params.scrollAnimation;
			speed = params.speed;
 
			if(speed == null || speed == 'normal') {
				speed = 500;
			} else if(speed == 'fast') {
				speed = 200;
			} else if(speed == 'slow') {
				speed = 2000;
			};
		};
 
		this.click(function() {
			if(!scrollAnimation) {
				window.scrollTo(0, 0);
			} else {
				$('html, body').animate({scrollTop: '0'}, speed);
			};
 
			return false;
		});
	}
 
});

参数说明:

1. scrollAnimation 为布尔型, 控制是否需要动态滑动, 可选值:ture、false
2. speed 控制滑动速度,只有scrollAnimation设置为true时才起到作用, 可选值:slow、normal、fast、任意数字

使用方法:(假设有html文档中一个class为top的标签)

1. 直接跳到顶部:
$(‘.top’).scrollTop();

2. 以默认的速度滑行到顶部:
$(‘.top’).scrollTop({‘scrollAnimation’: ‘true’});
或 $(‘.top’).scrollTop({‘scrollAnimation’: ‘true’, ‘speed’: ‘normal’});

3. 自定义速度滑行到顶部:可选值:slow、fast、任意数字
$(‘.top’).scrollTop({‘scrollAnimation’: ‘true’, ‘speed’: ‘slow’}); 移动到顶部的时间为2000毫秒
$(‘.top’).scrollTop({‘scrollAnimation’: ‘true’, ‘speed’: ‘fast’}); 移动到顶部的时间为200毫秒
$(‘.top’).scrollTop({‘scrollAnimation’: ‘true’, ‘speed’: ’1000′}); 移动到顶部的时间为1000毫秒

总结:

该插件的好处是无需在html源文件的头部添加任何标签,只需调用方法即可实现效果!

另外,jQuery库请使用者自行根据路径添加…

不错不错,已经有 个评论!
  1. 哇哈哈,沙发啦!
    你的研究又进一步了啊,都开始搞插件了。。

    • 事业尚未成功,研究仍需努力!

  2. 做的不错.最近在学jQuery,但是没做什么自己的东西

    • 日子久了就会写出自己的东西了

  3. 不错,仔细看看先

  4. 顶起~ :)

  5. 看样子应该不,可惜我不懂编程。呵呵

    • 不懂没关系,会用就可以了啊!

  6. 哈哈~~2000毫秒那个好慢啊~

    • 更慢都可以,你设个1个小时也可啊!哈哈!!

  7. 会写插件的博主,我是非常佩服的!

  8. 哈哈。
    受用了。
    收用了。

  9. blog内容很丰富啊,求个链接

  10. jQuery.scrollTo插件。貌似包含了你的插件功能

    • 在文章中我也说到过这个插件,在前面的文章也介绍过这个插件。但他写的确实繁琐了很多,所以我才写了这个简约型的插件!

  11. 呵呵~很不错~~学习了…

  12. 不错不错 !

  13. 谢谢…这插件很简洁呢,正好要用这个效果。

    对了,有个外国站,他的效果是可以移动到页面指定位置,而不是单纯的顶部..创意很好..

    地址:http://thegreatbeardedreef.com/

    • 该插件稍微修改就可以实现自定义了啊,只要把window.scrollTo(0, 0);和$(‘html, body’).animate({scrollTop: ’0′}, speed);中的0设置为变量,自行传值即可了啊!

  14. 给博主提个建议,这个评论框里的字太不明显了,对于我们这样的近视朋友来说不太友好。。

    • 多谢你的建议,我改进下。
      PS:其实我也是近视者,500度左右,哈哈

  15. tre

    我想请教一下 ,如果学这个(到一定位置才显示,.右下角’)这样应该怎么实现?http://uncn007.tuita.com/
    如果可以的话,教教我,我刚学,所以麻烦了

我要评论

  • * *