MooTools教程(15):滚动条(Slider)

大熊猫不在家

大熊猫不在家

2016-02-20 00:41

关注图老师设计创意栏目可以让大家能更好的了解电脑,知道有关于电脑的更多有趣教程,今天给大家分享MooTools教程(15):滚动条(Slider)教程,希望对大家能有一点小小的帮助。

到现在为止,初始化这些MooTools插件对象就会开始变得越来越熟悉。滚动条(Slider)没有任何不同,你要创建一个新的滚动条,定义滚动条和滑块相关的元素,然后设置你的选项,再创建一些回调事件的控制函数。尽管滚动条(Slider)遵循这个熟悉的模式,但是任然还有一点特殊的地方。

基本用法创建一个新的滚动条(Slider)对象

我们首先从HTML和CSS开始。基本的想法是创建一个滚动条的div,因此是一个长的长方形(长度取决于我们用滚动条做什么),还有一个子元素作为滑块。

参考代码:  div id=div id=/div/div

我们的CSS也可以这么简单。只需要设置宽、高,还有背景颜色。

参考代码:  #slider {    :     :     : #} #knob {    :     :     : #}

现在,我们可以创建我们的新滚动条对象了。要初始化滚动条,首先要把你的相关元素赋值给一些变量,然后使用new来创建一个滚动条Slider对象,这和我们以前创建tween、morph和drag.move时一样:

参考代码:   sliderObject = $(); knobObject = $();   SliderObject =  Slider(sliderObject , knobObject , {            range: [, ],    snap: ,    steps: ,    offset: ,    wheel: ,    mode: ,            onChange: (step){                    },            onTick: (pos){            .knob.setStyle(, pos);    },        onComplete: (step){                    }});Slider的选项

Snap:(默认为false),可以是一个true或者false值。这决定了滑块是不是以最小单元格移动

Offset:(默认是0),这是滑块相对于开始的位置。你可以对此做一个试验。

Range:(默认是false),这是一个非常有用的选项。你可以设置一个数字范围,会依照此数字和你的步数(step)触发onchange事件。例如:如果你设置的范围是[0, 200],而且你设置的step值为10,那么每次onchange的step的值将是20。这个范围也是是负数,例如[-10,0],这个数字在做反向的滚动条时会非常有用(下面有示例)。

Wheel:(默认是false),如果设置这个参数为true,这个滚动条将会识别鼠标滚轮事件。当使用鼠标滚轮时,你肯恩需要调整range参数,以保证鼠标滚轮事件的行为不是相反的(同样,后面会有例子)。

Steps:(默认是100),默认值为100非常有用,因为它可以很容易地作为百分比使用。当然,你也可以以你的理由设置任意多步(这是可以的)。

Mode:(默认是horizontal),这个参数定义了滚动条是水平滚动还是垂直滚动。当然了,要从水平滚动转化为垂直滚动还需要一些其它步骤。

回调事件

onChange:当step改变时,触发这个事件。同时传递参数step。可以从下面的例子中看到它是什么时候触发的。

onTick:当控制点的位置发生改变时触发这个事件。同时传递参数position。可以从下面的例子中看到它是什么时候触发的。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)

onComplete:当控制点释放时触发这个事件。捅死传递参数step。可以从下面的例子中看到它是什么时候触发的。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)代码示例

让我们建立一个示例,以便看看它们的效果。

.set();方法:看一看按钮上的事件,看是怎么使用.set()方法的。它使用起来非常简单:调用slider对象,附加.set,然后是你想要滚动的步数(step)。

参考代码:  window.addEvent(, () { SliderObject =  Slider(, , {        range: [, ],    snap: ,    steps: ,    offset: ,    wheel: ,    mode: ,         onChange: (step){        $().highlight();        $().set(, step);    },    onTick: (pos){        $().highlight();        $().set(, pos);                .knob.setStyle(, pos);     },    onComplete: (step){        $().highlight()        $().set(, step);        .set(step);    }});  SliderObjectV =  Slider(, , {    range: [-, ],    snap: ,    steps: ,    offset: ,    wheel: ,    mode: ,    onTick: (pos){                .knob.setStyle(, pos);    },    onChange: (step){        $().set(, step*-);    }}); SliderObjectV.set(); $().addEvent(, (){ SliderObject.set()}); });

onChange

passes the step you are on:   onTick
passes the knob position:   onComplete
passes the current step:    

 0
注意在垂直滚动的例子中,我们不仅仅只是把mode改成了vertical,我们还改变了onTick事件中的.setStyle();方法中的left属性为top属性。另外,看一下我们是怎样设置range从-10开始,然后到0的。然后,我们在onChange事件中显示当前的数字,我们把这个值乘了-1,正好和位置相反。这完成了两件事情:一是让我们从10到0改变这个值,0在最底部。但是这个可能设置rang为从10到0,从而导致鼠标滚轮事件变得相反。这就是我们的第二个原因鼠标滚轮读取值,而不是你要控制的方向,因此要让鼠标滚轮正确地读取滚动条并且从底部的0开始的值的唯一方式就是做这一点点改变。

 

注意:至于onTick事件中top和left的使用,我不确定这是不是MooTools中的规则。这只是我让它们正确运行的一种方法,我很有兴趣听到一些其他的清楚的说法。

更多学习

和以前一样,请参考文档中的。

包括MooTools 1.2的核心库和扩展库,还有一个外部的JavaScript文件,一个简单的HTML页面和一个CSS文件和上面的示例。

展开更多 50%)
分享

猜你喜欢

MooTools教程(15):滚动条(Slider)

Web开发
MooTools教程(15):滚动条(Slider)

层滚动条

Web开发
层滚动条

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

隐藏滚动条

Web开发
隐藏滚动条

用css美化滚动条

Html CSS布局 Div+CSS XHTML
用css美化滚动条

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

CSS隐藏网页的滚动条教程

Web开发
CSS隐藏网页的滚动条教程

Jquery iframe内部出滚动条

Web开发
Jquery iframe内部出滚动条

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

win8/win 8.1系统:快速禁用系统锁屏的方法

win8/win 8.1系统:快速禁用系统锁屏的方法

MooTools教程(6):操纵HTML DOM元素

MooTools教程(6):操纵HTML DOM元素
下拉加载更多内容 ↓