src/lay/modules/util.js
function(options){
      var ELEM = 'layui-fixbar', TOP_BAR = 'layui-fixbar-top'
      ,dom = $(document), body = $('body')
      ,is, timer;

      options = $.extend({
        showHeight: 200 //出现TOP的滚动条高度临界值
      }, options);
      
      options.bar1 = options.bar1 === true ? '&#xe606;' : options.bar1;
      options.bar2 = options.bar2 === true ? '&#xe607;' : options.bar2;
      options.bgcolor = options.bgcolor ? ('background-color:' + options.bgcolor) : '';
      
      var icon = [options.bar1, options.bar2, '&#xe604;'] //图标：信息、问号、TOP
      ,elem = $(['<ul class="'+ ELEM +'">'
        ,options.bar1 ? '<li class="layui-icon" lay-type="bar1" style="'+ options.bgcolor +'">'+ icon[0] +'</li>' : ''
        ,options.bar2 ? '<li class="layui-icon" lay-type="bar2" style="'+ options.bgcolor +'">'+ icon[1] +'</li>' : ''
        ,'<li class="layui-icon '+ TOP_BAR +'" lay-type="top" style="'+ options.bgcolor +'">'+ icon[2] +'</li>'
      ,'</ul>'].join(''))
      ,topBar = elem.find('.'+TOP_BAR)
      ,scroll = function(){
        var stop = dom.scrollTop();
        if(stop >= (options.showHeight)){
          is || (topBar.show(), is = 1);
        } else {
          is && (topBar.hide(), is = 0);
        }
      };
      if($('.'+ ELEM)[0]) return;
      
      typeof options.css === 'object' && elem.css(options.css);
      body.append(elem), scroll();
      
      //bar点击事件
      elem.find('li').on('click', function(){
        var othis = $(this), type = othis.attr('lay-type');
        if(type === 'top'){
          $('html,body').animate({
            scrollTop : 0
          }, 200);
        }
        options.click && options.click.call(this, type);
      });
      
      //Top显示控制
      dom.on('scroll', function(){
        clearTimeout(timer);
        timer = setTimeout(function(){
          scroll();
        }, 100);
      }); 
    }
function(options){
      var ELEM = 'layui-fixbar', TOP_BAR = 'layui-fixbar-top'
      ,dom = $(document), body = $('body')
      ,is, timer;

      options = $.extend({
        showHeight: 200 //出现TOP的滚动条高度临界值
      }, options);
      
      options.bar1 = options.bar1 === true ? '&#xe606;' : options.bar1;
      options.bar2 = options.bar2 === true ? '&#xe607;' : options.bar2;
      options.bgcolor = options.bgcolor ? ('background-color:' + options.bgcolor) : '';
      
      var icon = [options.bar1, options.bar2, '&#xe604;'] //图标：信息、问号、TOP
      ,elem = $(['<ul class="'+ ELEM +'">'
        ,options.bar1 ? '<li class="layui-icon" lay-type="bar1" style="'+ options.bgcolor +'">'+ icon[0] +'</li>' : ''
        ,options.bar2 ? '<li class="layui-icon" lay-type="bar2" style="'+ options.bgcolor +'">'+ icon[1] +'</li>' : ''
        ,'<li class="layui-icon '+ TOP_BAR +'" lay-type="top" style="'+ options.bgcolor +'">'+ icon[2] +'</li>'
      ,'</ul>'].join(''))
      ,topBar = elem.find('.'+TOP_BAR)
      ,scroll = function(){
        var stop = dom.scrollTop();
        if(stop >= (options.showHeight)){
          is || (topBar.show(), is = 1);
        } else {
          is && (topBar.hide(), is = 0);
        }
      };
      if($('.'+ ELEM)[0]) return;
      
      typeof options.css === 'object' && elem.css(options.css);
      body.append(elem), scroll();
      
      //bar点击事件
      elem.find('li').on('click', function(){
        var othis = $(this), type = othis.attr('lay-type');
        if(type === 'top'){
          $('html,body').animate({
            scrollTop : 0
          }, 200);
        }
        options.click && options.click.call(this, type);
      });
      
      //Top显示控制
      dom.on('scroll', function(){
        clearTimeout(timer);
        timer = setTimeout(function(){
          scroll();
        }, 100);
      }); 
    }
function ( options ) { var ELEM = 'layui-fixbar' , TOP_BAR = 'layui-fixbar-top' , dom = $ ( document ) , body = $ ( 'body' ) , is , timer ; options = $ . extend ( { showHeight : 200 //出现TOP的滚动条高度临界值 } , options ) ; options . bar1 = options . bar1 === true ? '&#xe606;' : options . bar1 ; options . bar2 = options . bar2 === true ? '&#xe607;' : options . bar2 ; options . bgcolor = options . bgcolor ? ( 'background-color:' + options . bgcolor ) : '' ; var icon = [ options . bar1 , options . bar2 , '&#xe604;' ] //图标：信息、问号、TOP , elem = $ ( [ '<ul class="' + ELEM + '">' , options . bar1 ? '<li class="layui-icon" lay-type="bar1" style="' + options . bgcolor + '">' + icon [ 0 ] + '</li>' : '' , options . bar2 ? '<li class="layui-icon" lay-type="bar2" style="' + options . bgcolor + '">' + icon [ 1 ] + '</li>' : '' , '<li class="layui-icon ' + TOP_BAR + '" lay-type="top" style="' + options . bgcolor + '">' + icon [ 2 ] + '</li>' , '</ul>' ] . join ( '' ) ) , topBar = elem . find ( '.' + TOP_BAR ) , scroll = function ( ) { var stop = dom . scrollTop ( ) ; if ( stop >= ( options . showHeight ) ) { is || ( topBar . show ( ) , is = 1 ) ; } else { is && ( topBar . hide ( ) , is = 0 ) ; } } ; if ( $ ( '.' + ELEM ) [ 0 ] ) return ; typeof options . css === 'object' && elem . css ( options . css ) ; body . append ( elem ) , scroll ( ) ; //bar点击事件 elem . find ( 'li' ) . on ( 'click' , function ( ) { var othis = $ ( this ) , type = othis . attr ( 'lay-type' ) ; if ( type === 'top' ) { $ ( 'html,body' ) . animate ( { scrollTop : 0 } , 200 ) ; } options . click && options . click . call ( this , type ) ; } ) ; //Top显示控制 dom . on ( 'scroll' , function ( ) { clearTimeout ( timer ) ; timer = setTimeout ( function ( ) { scroll ( ) ; } , 100 ) ; } ) ; }
固定块
固定块