Jquery本身可以实现滚的功能,不过有点太粗糙,与其说是滚,还不如是跳。因此需要一些插件来去实现平滑的滚动的效果。最近做wiki发现了几个不错的插件。jquery.smooth-scroll就是很不错的一款实现此功能的插件。
Demo:http://plugins.learningjquery.com/smooth-scroll/demo/
1
2
|
< script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js" ></ script >
< script src = "../src/jquery.smooth-scroll.js" ></ script >
|
1
2
3
4
5
6
7
|
$(function(){
$("#btn").click(function(){
$('a').smoothScroll({
//参数列表
});
});
})
|
插件说明
1、允许我们轻易地实现滑动到页面某个位置
2、可以这样来调用插件
1
|
$('a').smoothScroll();
|
1
|
$('#container a').smoothScroll();
|
1
2
3
|
$('#container a').smoothScroll({
excludeWithin : ['.container2']
});
|
1
2
3
|
$('a').smoothScroll({
exclude: ['.rough','#chunky']
});
|
1
2
3
|
$('.backtotop').smoothScroll({
offset: -100
});
|
1
2
3
4
5
|
$('a').smoothScroll({
beforeScroll : function() {
alert('ready to go!');
}
});
|
1
2
3
4
5
|
$('a').smoothScroll({
afterScroll : function() {
alert('we made it!');
}
});
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$.smoothScroll({
//滑动到的位置的偏移量
offset: 0,
//滑动的方向,可取 'top' 或 'left'
direction: 'top',
// 只有当你想重写默认行为的时候才会用到
scrollTarget: null,
// 滑动开始前的回调函数。`this` 代表正在被滚动的元素
beforeScroll: function() {},
//滑动完成后的回调函数。 `this` 代表触发滑动的元素
afterScroll: function() {},
//缓动效果
easing: 'swing',
//滑动的速度
speed: 400,
// "自动" 加速的系数
autoCoefficent: 2
});
|