slider控件制作

本文介绍了slider控件的制作过程,主要讲解了基本原理及关键实现步骤。
摘要由CSDN通过智能技术生成

 一.基本原理

1.如果有最小刻度,该怎么处理?
因为有接口setValue(n)
你可以在onfinish(onend)里得得值getValue();
再进行判断即可,简单的代码如下:
设最小刻度值为16
oSlider.onend = function () {
var currentValue = oSlider.getValue();
var offsetDir = currentValue>Math.round(oSlider/2)?1:0;
var minValue = 16;
setValidateValue(currentValue, offsetDir, minValue);
function setValidateValue(n,x,v) {
if (n%v==0 || n>slider.max || n<slider.min) {
oSlider.setValue(n);
} else { x==1?++n:--n; }
setValidateValue(n, x,v);
}
}

2、如何加微距调整?
只要在两旁边加上一个容器,用DIV或者BUTTON,内容自己定义,
加上事件,οnclick=setMyValue(1,1);向右,微距为1 οnclick=setMyValue(1,2)
function setMyValue(v, dir) {
dir==1?oSlider.setValue(oSlider.getValue()+v):oSlider.setValue(oSlider.getValue()-v);
}
特性:
1、兼容IE 6.0 - Opera 9.0 - - Mozilla 1.5.0
2、触发的事件添加 onstart, onchange, onfinish
3、将添加利用该控件和AJAX结合来进行翻页,如:腾讯的文章评论还有新浪样式的文章评论的风格。
4、精确度的BUG已经修改完毕。
5、DEMO里有三个例子,都是利用CSS来改动样式,无需在程序里添加。
6、增加直接移动的效果,即可以用鼠标直接点击移动到坐标。
接口说明。
构造函数:neverModules.modules.slider(config)
config对象为:
config = {
targetId: "sliderDemo1",//目标容器
sliderCss: "imageSlider",//slider的CSS类
barCss: "imageBar",//bar的CSS类
min: 1,//最小值,默认为0
max: 20,//最小值,默认为100
hints: "move the slider"//提示信息
}

创建方法:
oSlider.create();

取得当前值的方法:
oSlider.getValue();

设置当前值的方法:
oSlider.setValue();

句柄:
onstart - 开始时触发
onchange - 值改变时触发
onend - 完毕时触发 (如果要做类似腾讯的文章评论还有新浪样式的文章评论的风格的话,在这里加入事件利用AJAX获取好数据即可,例子将会在不久后推出)

dispose方法可以由用户自己编写。
二.原代码
1.main.css
body {
 color: windowtext;
 background: appworkspace;
 font-family: Arial;
 font-size:9pt;
 line-height:150%;
}
h1, h2, h3, h4 {
 color:#fff;
 font-family: "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
}
div#header {
 text-align:center;
 color:#eee;
}
div#header a {
 color:#fff;
 font-weight:bold;
}
div#footer {
 margin-top:10px;
 text-align:center;
 color:#eee;
 font-size:8pt;
}
div#operator {
 margin:20px 0 20px 0;
}
div#operator ul, div#operator li {
 margin:0;
 padding:0;
}
div#operator li {
 display:inline;
 list-style-type:none;
 margin-right:5px;
 margin-left:5px;
 border:1px solid #000;
 padding:5px;
 color:#000;
 background-color:#eee;
 cursor:hand;
 cursor:pointer;
}
hr {
 margin:10px 0 10px 0;
}
div.wrapper {
 text-align:center;
}
div.content {
 border:1px solid #333;
 background-color:buttonface;
 color:#000;
 padding:10px;
 margin:10px 0 10px 0;
 font-size:10pt;
 line-height:150%;
 text-align:left;
 width:80%;
 margin-left: auto;
 margin-right: auto;
 -moz-box-sizing:border-box;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值