由于全项目不是自己写的,只是帮别人写js滚轮代码,而且别人项目也还未上线,所以只贴出自己写的那段部分代码,
效果:鼠标滚轮滚动时,网頁屏幕一屏一屏的上下切换
(以下代码在本地电脑的IE,chrome与FireFox这三个浏览器已经测试并且已经成功)
var sum=0; var oTxt=document.getElementById("txt"); var scrollFunc=function(e){ var direct=0; var men = $(".menu_m").find(".menu").find("li"); men.each(function (j) { if($(this).attr("class")=="m_selected"){ sum=j; } }); e=e || window.event; if(e.wheelDelta){//IE/Opera/Chrome if(navigator.appName=='Netscape'){ // Chorme滚一次有两次的效果,所以加0.5 if(e.wheelDelta>0){ sum=parseFloat(sum-0.5); } else{ sum=parseFloat(sum)+0.5; } }else{ if(e.wheelDelta>0) sum=parseFloat(sum-1); else sum=parseFloat(sum+1); } }else if(e.detail){//Firefox //firefox向上向下的值不和上面的一样,可打印出看看 if(e.detail>0) sum=parseFloat(sum+1); else sum=parseFloat(sum-1); } //sum出来的,下面就是你想做的事情,我这里是写与当前项目有所以相关联的屏目跳转,但记的要加return false; 要不然,在google和ie中时会出现,滚多了 var sizes= $(".menu_m").find(".menu").find("li").size(); if(sum>=0&&parseFloat(sum)<=parseFloat(sizes)-1){ men.each(function (j) { $(this).removeClass("m_selected") }); $(".menu_m").find(".menu li:eq("+sum+")").find("span").click(); return false; } } /*注册事件*/ if(document.addEventListener){ document.addEventListener('DOMMouseScroll',scrollFunc,false); }//W3C window.onmousewheel=document.onmousewheel=scrollFunc;//IE/Opera/Chrome/Safari
时间: 2024-11-03 03:47:28