美文网首页
前端 转屏定位问题分析

前端 转屏定位问题分析

作者: 依米花1993 | 来源:发表于2017-12-26 02:04 被阅读0次

    var scrollTop = $(window).scrollTop(); // 窗口相对滚动条顶部的偏移

    var doclHeight = $(document).height(); // 文档高度

    1.如果doclHeight不变,则转屏后scrollTop不变

    demo1:前端 转屏定位问题分析demo1

    2.如果文档是响应式,则转屏后的scrollTop/doclHeight约等于转屏之前的scrollTop/doclHeight,例如屏幕是200*600,文档是2:1,转屏前的scrollTop=300,doclHeight=2000,则转屏后doclHeight=6000,scrollTop=900

    如果转屏后的scrollTop超过了当前屏幕的最大scrollTop,则会定位到最大scrollTop,例如屏幕是600*200,文档是2:1,转屏前的scrollTop=5800,doclHeight=6000,则转屏后doclHeight=2000,scrollTop=1400

    demo2:前端 转屏定位问题分析demo2

    3.如果文档是响应式,并且转屏后会重新排版,重新排版之前遵循第2点,重新排版之后定位到当前scrollTop,例如屏幕是200*600,文档是2:1,转屏后文档是4:1,转屏前的scrollTop=300,doclHeight=2000,则转屏后doclHeight=6000,scrollTop=900,重新排版后doclHeight=3000,scrollTop=900

    如果重新排版之后scrollTop超过了当前屏幕的最大scrollTop,则会定位到最大scrollTop,例如屏幕是200*600,文档是2:1,转屏后文档是4:1,转屏前的scrollTop=1400,doclHeight=2000,则转屏后doclHeight=6000,scrollTop=4200,重新排版后doclHeight=3000,scrollTop=2800,并且还会触发滚动事件

    demo3:前端 转屏定位问题分析demo3

    这种情况最好是在转屏里面off滚动事件,等转屏处理完成后再on滚动事件

    demo4:前端 转屏定位问题分析demo4

    设置off对比

    相关文章

      网友评论

          本文标题:前端 转屏定位问题分析

          本文链接:https://www.haomeiwen.com/subject/mmtdgxtx.html