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
相关分类