scrollto 到指定位置

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;
                }
            }

  直接写改变scrollTop属性可能没什么作用,但是这样写的话兼容性就有保障

滚动到指定容器的底部

window.scrollTo(0,document.querySelector("#answer-11715670").scrollHeight);

 vue的写法

watch: {
    messages() {
      this.$nextTick(() => {
        let list = this.$els.xx
        list.scrollTop = list.scrollHeight
      })
    }
  }

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨龙飞前端

圣杯布局,双飞翼布局,和自己独创的布局

1122
来自专栏练小习的专栏

关于IE6下绝对定位元素莫名消失的问题

这是个很老的bug了,我想一般大家都遇到过,以前我是纯凭经验,让绝对定位的元素不挨着浮动元素就OK了,不过一直没去研究它形成的原因。今天做页面又遇到了这个可爱的...

17510
来自专栏smy

多行图片hover加边框兼容IE7+

问题: 遇到多行多列排列的图片时,hover上去加边框会把下面的图片挤到别处 =========================================...

3386
来自专栏十月梦想

canvas封闭状态及状态恢复

使用context.save()会保存当前的线条颜色,宽度属性,进行多次保存,使用context.restore()恢复离之最近之前的状态,

762
来自专栏木宛城主

原生态Ajax无刷新评论和顶踩代码(记事本打造,无验证)

<script type="text/javascript"> var xhr=false; var actionType; //todo: var s...

1799
来自专栏流星博客

CSS的奇淫技巧

当一个盒容器的两条边框在边角处相交时,浏览器就会在交点处按某个角度绘制接合线。 如果将这个盒容器的width和height设置为0,并为每条边框设置一个较粗的w...

55112
来自专栏前端小叙

ul li列表元素浮动导致border没有底边解决办法

如图,当ul li,li元素浮动,并且ul元素也overflow:hidden清除浮动的时候,给li元素加了border,但是不显示底边,这时候要看是不是没有给...

2645
来自专栏九彩拼盘的叨叨叨

CSS 常用属性

552
来自专栏练小习的专栏

分享几种JS烟花

今天看到蓝色理想有几个哥们都发了自己写的烟花效果,弄的心里痒痒,自己也想写一个出来玩,结果把IE写死好几次,还是放弃了,这里转几个别人写的效果上来分享 <!DO...

1897
来自专栏Youngxj

简单实用的Canvas进度环返回按钮

2046

扫码关注云+社区