• 在页面内, 滑块位置的控制


    要求:
    1. 页面分三部, head, content, foot, 另外有浮动的滑块
    2. 当前窗口处在content时, 滑块固定在最底部
    3. 当滚动条滑到foot出现时, 滑块固定在content的最底部
    4. 当滚动条往上滑动, 滑至head+滑块的高度时, 滑块固定在content的顶部

    var $block = $('#block');
    var $doc = $(document);
    var $body = $(document.body);
    var $win = $(window);
    var $foot = $('#foot');
    var $cont = $('#content');
    
    //这是一个从底部向上计算的过程, 算出的值都跟scrollTop有关
    var handle = function(){
      var st = $doc.scrollTop();
      //整个文档高度 - 当前窗口高度 - #foot高度 ==>(foot顶部正好在浏览器的底部)
      var h1 = $body.height() - $win.height() - $foot.height();
      //h1 - #content的高度 + #block的高度 ==>(block底部正好在浏览器的底部)
      var h2 = h1 - $cont.height() + $block.height();
      //当foot从窗口底部逐渐出现时
      if( st >= h1 ){
        $block.removeAttr('style').css({'position' : 'absolute'});
      //当窗口高度小于等于 block高度+head高度时 且 滚动条位置小于它们的高度时
      }else if( h2 > 0 && st <= h2){
        $block.css({'position' : 'absolute', 'top': 0});
      //中间位置
      } else {
        $block.removeAttr('style').css({'position' : 'fixed'});
      }
    };
    $win.scroll(handle);
    $win.resize(handle);
    

    在线DEMO: http://output.jsbin.com/jakusekayi

  • 相关阅读:
    APP手工测试01-app专项测试要点-测试、开发环境-敏捷开发
    APP测试面试题(一)
    软件测试面试题-网站
    APP 抓包-fiddler
    使用模板快速编写测试用例
    随机数据构造-Faker
    [转载]大规模爬虫流程总结,经验总结
    python高级知识点总结
    python sorted,sort,reversed,reverse函数
    python函数式编程
  • 原文地址:https://www.cnblogs.com/zlog/p/5387845.html
Copyright © 2020-2023  润新知