一直很想做这个效果,原理是监听鼠标滚轮事件;可将此效果继续发散到其他应用上,如图片缩放,页面缩放等。



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>滚轮效果 -http://www.51obj.cn/</title>
</head>
 
<body>
<input type="text" id="txt" value="0" />
<script type="text/javascript">
var oTxt=document.getElementById("txt");
/***********************
* 函数:判断滚轮滚动方向
* 参数:event
* 返回:滚轮方向 1:向上 -1:向下
*************************/
var scrollFunc=function(e){
var direct=0;
e=e || window.event;
if(e.wheelDelta){
direct=e.wheelDelta>0?1:-1;
}else if(e.detail){
direct=e.detail<0?1:-1;
}
ScrollText(direct);
}
/****************************
* 函数:控制文本框文字
* 参数:滚轮方向(由scrollFunc返回)
* 返回:无
*******************************/
function ScrollText(arg){
oTxt.focus();
var _value=parseInt(oTxt.value);
if(arg>0){
_value++;
}else{
_value–;
}
oTxt.value=_value;
oTxt.select();//选取效果
}
/*注册事件*/
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome
</script>
</body>
</html>
 

已经ff、ie、opera、chrome测试;其中45~47行中若使用

/*注册事件*/
if(document.attachEvent){
document.attachEvent('onmousewheel',scrollFunc);
}else if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}

则Chrome不起作用,将其更改为

/*注册事件*/
if(document.addEventListener){
document.addEventListener('DOMMouseScroll',scrollFunc,false);
}//W3C
window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome

即可。

最后我再简单讲四句,欢迎jb51.net前来转载, 加上这一句,我讲完了。

查看效果

Related posts:

  1. js中的冒泡事件与事件监听 js中“冒泡事件”并不是能实际使用的花哨技巧,它是一种对js事件执行顺序的机制,“冒泡算法”在编程里是一个经典问题,冒泡算法里面的冒泡应该说是交换更加准确;js里面的“冒泡事件”才是真正意义上的“冒泡”,它从DOM最低层逐层遍历树,然后附加相应事件。...
  2. CSS制作无图片圆角矩形 css无图片圆角矩形...
  3. jquery学习笔记五 jquery实现表格隔行换色、锁定单元行、荧光棒、全选反选特效...
  4. ie中的onreadystatechange问题 ie中的onreadystatechange是非常好的一个函数,它代表所有dom元素框架加载完毕后执行,onload是要等到所有dom元素的所有东西完全加载后执行,例如网页中有一张很大的图片,那个使用onreadystatechange就是页面一把最基本的框架加载完毕就执行,而 onload则要等到那张图片下载完成后才开始执行。这样的话可能会出现一些问题,如我之前使用使用js制作导航条的滑动门,但是我放在了相关的html 元素之后,我瞬间鼠标移到元素上就会发生js报错,“无法找到对象”;使用onload也会出现这种情况。于是这时 document.onreadystatechange就非常符合这种应用场合。...
  5. 详解scrollTop、scrollHeight、offsetWidth、offsetTop scrollTop:这个属性在当外层元素包含内层元素时起作用,可用来获取和设置内层元素相对于外层元素向上卷起的距离,默认为0;当设置内层元素为正数时,则内层元素会相对于外层元素向上偏离相应的距离。...

以上关联文章由 Yet Another Related Posts Plugin 提供支持。