亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

firefox下監聽滾動條的兼容問題

firefox下監聽滾動條的兼容問題

當年話下 2018-12-20 18:15:32
 window.onmousewheel = document.onmousewheel=function (e) {            console.log('aaa')            var valueoffsetT = $('.value-box').offset().top;            var ST = $('body').scrollTop();            var windowH = $(window).height();            console.log(valueoffsetT,ST,windowH)            var courseoffsetT = $('.course-box').offset().top;            var ST = $('body').scrollTop();            var windowH = $(window).height();            if (valueoffsetT - ST - windowH < -40) {                $('.value-box').show();                $('.value-box').addClass('fadeInUp ');            }            if (courseoffsetT - ST - windowH < -15) {                $('.course-box').show();                $('.course-box').addClass('fadeInUp ');            }        };用$(window).scroll在火狐下不行 上面這么寫也不行 怎么寫才能更好的兼容呢
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

火狐下面的滾動條滾動事件是:

obj.addEventListener('DOMMouseScroll',fnCallBack,false);


分享你一個封裝好的函數:


function addEvent(obj,sEv,fn){

    if(obj.addEventListener){

        obj.addEventListener(sEv,fn,false);

    }else{

        obj.attachEvent('on'+sEv,fn);

    }

}

function addWheel(obj,fn){

    

    function fnWheel(ev){

        var oEvent=ev || event;

        var bDown=false;


        bDown=oEvent.wheelDelta?oEvent.wheelDelta<0:oEvent.detail>0;

        

        fn && fn(oEvent,bDown);

        oEvent.preventDefault && oEvent.preventDefault();

        return false;

    }

    

    if(window.navigator.userAgent.indexOf('Firefox')!=-1){

        obj.addEventListener('DOMMouseScroll',fnWheel,false);    

    }else{

        addEvent(obj,'mousewheel',fnWheel);

    }

}

使用也很簡單:


addWheel(obj,function(ev,down){

    //TODO

})

jq中,我印象是默認沒有封裝滾輪的,要不你就找插件,要不就用原生吧。簡單、粗暴。


查看完整回答
反對 回復 2019-01-13
  • 1 回答
  • 0 關注
  • 517 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號