Slider和Scroll(除去上下左右箭头的剩余部分)从结构上和动作触发机制上是相同的,从机能上是相似的。
因此可以划归到一类当中。
Slider是基类,Scroll是派生类。
下面以横向Slider和Scroll为例进行说明:
===========================================================
>>相同点
1. 结构
都是由滑竿和滑块组成
2. 动作触发机制
(1)点击滑竿,使得滑块重新定位
(2)拖动滑块,使得滑块重新定位
3. 机能
(1)滑块的重新定位都引发对应值的重新计算
(2)值变化将通过特定的接口(例如事件)向外部通知
>>不同点
1. 概念不同
Slider:没有Step(步距)、Page(页距)、paginalNumber(页数)的概念。
滑块的宽度没有特殊含义,可依据美观性和可操作性进行任意定义。
滑块的x坐标或中心位置可以用来代表相应的值
Scroll:有Step(步距)、Page(页距)、paginalNumber(页数)的概念。
滑块的宽度有特殊含义:代表Page(页距),它不能任意定义。它的计算公式 = page /(max - min)* Scorll的宽度
滑块的x坐标用来代表相应的值
2. 滑块位置代表的值范围不同(以Min / Max 代表控件的取值范围)
Slider:滑块位置能够对应的值范围:Min -- Max
Scroll:滑块位置能够对应的值范围:Min -- page*(paginalNumber-1)
*滑块从Min开始滑动,滑到最后一页就不能继续滑下去了。而这时滑块的x坐标为最大,代表的值是:page*(paginalNumber-1)
3. 点击滑竿的效果不同
Slider:滑块根据鼠标点击位置重新定位。
Scroll:滑块向鼠标位置前进一个Page的宽度