【Mootools 1.2中文实例诠释】Fx.Scroll扩展类应用–带动画效果的锚点跳转

还是先看效果吧:

测试地址:http://xiebiji.com/works/mt1.2cn/fxScroll.html

实例例子压缩包:mt1.2cn

*原创文章转载请注明出处:http://xiebiji.com/2009/09/mtscroll 作者:小Joe

Jq有提供锚点跳转的效果实例(点击这里查看jq实现的方法),其实mootools也有的(Fx.Scroll扩展类),具体如下实现:
ps.实例中介绍了一种全居中的css写法,有兴趣又不知道的同学可以研究一下了。^_^高手就瞄一下吧。

HTML代码:

<div id="container">
<div id="scroll">
<ul>
	<li id="anchor_1">1.我是第一锚点</li>
	<li id="anchor_2">2.哈?我也是锚点,我是第二个</li>
	<li id="anchor_3">3.第三个锚点就是我啦</li>
	<li id="anchor_4">4.什么?我居然是第四个锚点</li>
	<li id="anchor_5">5.我汗~我是最后一个锚点</li>
</ul>
</div>
<div id="handles">
            <a href="#anchor_1">目标一</a>
            <a href="#anchor_2">目标二</a>
            <a href="#anchor_3">目标三</a>
            <a href="#anchor_4">目标四</a>
            <a href="#anchor_5">目标五</a></div>
</div>

css代码:

/*全居中*/
body,html{height:100%;}
#container{width:420px; height:520px;background:#000;margin:-260px auto 0;position:relative;top:50%;border:1px solid #000;}
#scroll{overflow:auto;height:80%;width:100%}/*其他css代码都系次要的,只要目标容器有设置滚动即可*/
#scroll ul{margin:0; padding:0;}
#scroll li{height:500px;background:#CCC;}
#handles{padding-top:10px;}
#handles a{color:#FFF;}

Mootools代码

window.addEvent('domready',function(){
	var myFx = new Fx.Scroll('scroll', {//给id为scroll的div标签附加滑动类
		offset: {
			'x': 0,//初始化时横向偏移
			'y': 0//初始化时竖向偏移
		},
		transition: Fx.Transitions.Cubic.easeOut//Fx的可选参数中的动作属性
	}).toElement($('anchor_2'));//初始化的时候就滑动到第二个描点
	$$('#handles a').each(function(anchor) {
			anchor.addEvent('click', function(e) {
			e.stop();//停止事件传播,使超链接失效
			var lnk = $(anchor.href.split('#')[1]);//获取锚点id
			myFx.toElement(lnk);//滑动到指定锚点
		});
	});
 
});

初始化方法:
var myFx = new Fx.Scroll(element[, options]);
参数:

1. element – (mixed) 元素的id或引用
2. options – (object, 可选) Fx的所有可选项, 以及下列可选项:

可选项:

1. offset – (object: 默认为 {‘x’: 0, ‘y’: 0}) 包含有x,y值得对象, 代表元素内部滚动的起始位置
2. overflown – (array: 默认为 []) 嵌套的滚动容器元素数组, 参见Element:getPosition方法的详解
3. wheelStops – (boolean: 默认为 true) 如果设置为true,则当滚动过程中滚动鼠标滚轮的话, 元素内的滚动操作将停止.

返回值:

* (object) Fx.Scroll实例

该类需要安装mt的扩展,其他方法请参考手册

No Response to 【Mootools 1.2中文实例诠释】Fx.Scroll... »

还没有任何评论。

Leave a Reply

Email address is not published

You should say a Chinese word to pass spam check. If you can not input Chinese, just copy 你好 and paste them into comment text box.