js滚轮换切屏

由于全项目不是自己写的,只是帮别人写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

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。