- UID
- 30376
- 帖子
- 527
- 精华
- 1
- 积分
- 6520
- 来自
- 湖南湘潭
|
比较一下 dataVerify 和 dataVerify2:
function dataVerify(obj,min,def,max,parseNum)
{
var n=parseNum(obj.value);
if(isNaN(n)||n<min||n>max)n=def;
obj.value=n;
}
function dataVerify2(d,dn,obj,min,def,max,parseNum)
{
var n=parseNum(obj.value)+dn*Math.abs(d)/d;
if(isNaN(n)||n<min||n>max)n=def;
obj.value=n;
}
两个函数可以并作一个:
function dataVerify(d,dn,obj,min,def,max,parseNum)
{
var n=parseNum(obj.value)+dn*Math.abs(d)/d;
if(isNaN(n)||n<min||n>max)n=def;
obj.value=n;
}
修改一下 numA 和 numB:
A=<input id=numA type=text size=16 value=20
onchange=dataVerify(1,0,this,-1000000,20,1000000,parseInt)
onmousewheel=dataVerify(event.wheelDelta,10,this,-1000000,20,1000000,parseInt)><br>
B=<input id=numB type=text size=16 value=30
onchange=dataVerify(1,0,this,-1000000,30,1000000,parseFloat)
onmousewheel=dataVerify(event.wheelDelta,0.1,this,-1000000,20,1000000,parseFloat)><br>
当触发 onchange 事件并执行 dataVerify 时,dn*Math.abs(d)/d 恒等于零。
至此,我们终于写出了一个颇具价值的 javascript 函数 dataVerify。这可是一劳永逸的业绩,在后面的复分形编程中,有着一大堆的参数,少了这段代码将是很难想像的。当然,我们可以把这个dataVerify 函数写得更复杂一些,功能更强大一些。
htm0009.rar (633 Bytes)
|
|