跪求大神帮忙看看这段js代码要怎么写才能兼容火狐浏览器,其他浏览器都没问题

    f1.onclick = function () { navClick(nav) }; //添加单击事件,调用滚动函数
    f2.onclick = function () { navClick(fl2) };     //这里给4个标签添加单击事件,调用下面函数
    f3.onclick = function () { navClick(n) };        //但在火狐下只有第一个有效,为嘛啊!!
    f4.onclick = function () { navClick(fl4) };

    function navClick(top) {                    //滚动函数
        var sTop = document.body.scrollTop || document.documentElement.scrollTop;   //兼容火狐
        var f = top.offsetTop-90;               //导航栏高度         
        var len = (Math.abs((sTop) - f))/50;
        var count = 0;
        var interval = setInterval(function () {    //计时器,实现点击导航栏后的滑动效果
            if (sTop>f) {                //主要是这个if else
               document.body.scrollTop -= len;    
               //document.documentElement.scrollTop-= len;//把这句话写上怕两次做差会出错         
            }
              else {
                 document.body.scrollTop += len;
                //var a=document.body.scrollTop || document.documentElement.scrollTop; 
                //a += len;    //谷歌又不认了           
                }
            count++;
            if (count == 50) {
                clearInterval(interval);
                count = 0;
                document.body.scrollTop = f;    //f不能有小数,用此句解决
            }
        }, 10);
    }

刚刚接触js,望大神们能指点一下。

还有最最最重要的就是,像这种兼容性问题有没有什么类似于css帮助文档的东西??各位大神遇到这种情况要怎么去解决的?
我硬是百度了一天也没整明白,愁死了!

Goldberg
浏览 1399回答 1
1回答

Goldberg

这里给4个标签添加单击事件,只有第一个有效if else怎么写才能全面兼容
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript