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

2016-02-20 00:41 28 1 收藏

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

【 tulaoshi.com - Web开发 】

到现在为止,初始化这些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值。这决定了滑块是不是以最小单元格移动

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

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

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

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

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

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

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

回调事件

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

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

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

代码示例

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

.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文件和上面的示例。

来源:https://www.tulaoshi.com/n/20160220/1632391.html

延伸阅读
标签: flash教程
第一步:场景中的元素 因为这一步主要是在场景中加入文字和图片,大家可以下载源文件后用FLASH打开自己研究,这里就不详细介绍各元素的画法了。 点击下载FLA源文件 关于场景中的元素,这里要说清楚的是各个MovieClip(影片剪辑,以下简称mc)的命名,如下图所示(注:这里说的命名,是指把mc放到场景中后在Properties<属性面板中的命名,而不是...
标签: Web开发
网页滚动条本身就是浏览器的一部分,使用它可以方便浏览较大的网页,但是千篇一律的它经常会给整体页面效果拖了不少后腿,我们能不能改变它灰灰的样子呢?能!俗话说:“只有你想不到的,没有做不到的。” 给滚动条换色 FRA 几乎所有网页的滚动条都是默认的灰色,如果把它的颜色换换,来点另类的,相信一定会使网页更加靓丽。我们只...
很多开发者在做Android UI时不知道如何设置ScrollView滚动条控件的滑块颜色,其实通过ScrollView的xml布局属性android:scrollbarThumbVertical可以关联一个drawable对象,比如说在ScrollView中我们有 android:scrollbars="vertical" //滚动条是垂直的 android:scrollbarThumbVertical="@drawable/red" //垂直滚动条颜色为red,red可以是一个png...
  问======================================== 我使用webbrowser控件,但是想用自己的滚动条,但不知如何得到webbrowser中滚动条的长度,怎么办?谢谢!! 2004-10-24 答========================================     抱歉拖了很久才回复你的问题。  &nb...
标签: Web开发
记录滚动条位置 dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd dd...

经验教程

456

收藏

39
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部