日期:2014-05-16  浏览次数:20401 次

“回到顶部”的js代码在谷歌浏览器下为什么不执行?

// JavaScript Document  回到顶部
function goTopEx(){
        var obj=document.getElementById("goTopBtn");

        function getScrollTop(){
var xtop;
xtop = document.documentElement.scrollTop || document.body.scrollTop;
                return xtop;
}
        function setScrollTop(value){
if (document.body)
{
document.documentElement.scrollTop=value;
}
else
{
document.documentElement.body=value;
}
            }    
        window.onscroll=function(){getScrollTop()>0?obj.style.display="block":obj.style.display="none";}

obj.onclick=function(){
            var gotop;
gotop=window.setInterval(scrollMove,10);
            function scrollMove(){
                    setScrollTop(getScrollTop()/3);
                    if(getScrollTop()<1)
{
window.clearInterval(gotop);
}

}
alert(gotop);
        }
    }



在html里我这样调用的,但是在ie,firefox都会执行,在google浏览器里Onclick时没反应!
<DIV style="DISPLAY: none" id=goTopBtn><IMG border=0 src="{res file=images/toTop.png}"></DIV>
<SCRIPT type=text/javascript>goTopEx();</SCRIPT>



------解决方案--------------------
obj.onclick=function(){
            var gotop;
            gotop=window.setInterval(function(){
                    setScrollTop(getScrollTop()/3);
                    if(getScrollTop()<1)
                    {    
                        window.clearInterval(gotop);
                    }
 
            },10);
            alert(gotop);
        }


用这个,刚才那个多了一个括号~·
------解决方案--------------------
好久没来了,手痒所以写多了,LZ的问题确实是浏览器的兼容性问题

另外: LZ代码里的“document.documentElement.body=value;”是神马?
在chrome 和safari里面获取和设置scrollTop会有点问题,获取的时候只有用pageYO