js 滾動到指定位置

goTo = function(target){
                var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
                if (scrollT >target) {
                    var timer = setInterval(function(){
                        var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
                        var step = Math.floor(-scrollT/6);
                        document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
                        if(scrollT <= target){
                            document.body.scrollTop = document.documentElement.scrollTop = target;
                            clearTimeout(timer);
                        }
                    },20)
                }else if(scrollT == 0){
                    var timer = setInterval(function(){
                        var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
                        var step = Math.floor(300/3*0.7);
                        document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
                        console.log(scrollT)
                        if(scrollT >= target){
                            document.body.scrollTop = document.documentElement.scrollTop = target;
                            clearTimeout(timer);
                        }
                    },20)
                }else if(scrollT < target){
                    var timer = setInterval(function(){
                        var scrollT = document.body.scrollTop|| document.documentElement.scrollTop
                        var step = Math.floor(scrollT/6);
                        document.documentElement.scrollTop = document.body.scrollTop = step + scrollT;
                        if(scrollT >= target){
                            document.body.scrollTop = document.documentElement.scrollTop = target;
                            clearTimeout(timer);
                        }
                    },20)
                }else if(target == scrollT){
                    return false;
                }
            }

來源 https://www.cnblogs.com/bbyz/p/3968583.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章