AutoCAD 3DMAX C语言 Pro/E UG JAVA编程 PHP编程 Maya动画 Matlab应用 Android
Photoshop Word Excel flash VB编程 VC编程 Coreldraw SolidWorks A Designer Unity3D
 首页 > JavaScript

基于jquery实现瀑布流布局

51自学网 http://www.wanshiok.com
jquery,瀑布流

本文实例为大家介绍了基于jquery实现瀑布流布局的关键代码,分享给大家供大家参考,具体内容如下

效果图:

具体代码:

使用jquery-1.8.3.min.js,waterfall.js代码如下:

$( window ).load( function(e){  waterfall();  var dataInt = { 'data': [{ 'src': '1.jpg' },{ 'src': '2.jpg' },{ 'src': '3.jpg' },{ 'src': '4.jpg' }]};  $(window).scroll(function(){    if( checkscrollside() ){      $.each( dataInt.data, function(index,value){        var $oPin = $('<div>').addClass('pin').appendTo( $("#main") );        var $oBox = $('<div>').addClass('box').appendTo( $oPin );        $('<img>').attr('src','./images/' + $(value).attr('src')).appendTo( $oBox );      });      waterfall();    }  });  function waterfall(){    var $aPin = $( "#main>div" );    var iPinW = $aPin.eq(0).outerWidth();    var num = Math.floor( $(window).width() / iPinW );    $( "#main" ).css({      'width' : iPinW * num,      'margin' : '0 auto'    });    var pinHArr = [];    $aPin.each(function( index, value ){      var pinH = $aPin.eq( index ).height();      if( index < num ){        pinHArr[ index ] = pinH;      }else{        var minH = Math.min.apply( null, pinHArr );        var minHIndex = $.inArray( minH, pinHArr );        $( value ).css({          'position': 'absolute',          'top': minH + 15,          'left': $aPin.eq( minHIndex ).position().left        });        pinHArr[ minHIndex ] += $aPin.eq( index ).height() + 15;      }    });  }  function checkscrollside(){    var $aPin = $("#main>div");    var lastPinH = $aPin.last().get(0).offsetTop + Math.floor( $aPin.last().height()/2);    var scrollTop = $( window ).scrollTop();    var documentH = $( document ).height();    return (lastPinH < scrollTop + documentH ) ? true : false;  }});

希望本文所述对大家学习有所帮助,谢谢大家的阅读。


jquery,瀑布流  
上一篇:jquery实现倒计时功能  下一篇:详解AngularJS Filter(过滤器)用法