blocksit.js插件瀑布流

blocksit.js插件瀑布流

<!DOCTYPE html>
<html>
<head>
<title>jQuery瀑布流插件BlocksIt </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel='stylesheet' href='css/style.css' media='screen' />
<script src="js/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script src="js/blocksit.min.js"></script>
<script>
$(document).ready(function() {


    //blocksit define
    $(window).load( function() {
        $('#container').BlocksIt({
            numOfCol: 5,
            offsetX: 8,
            offsetY: 8,
            blockElement: '.grid'
        });
    });

    //window resize
    var currentWidth = 1100;
    $(window).resize(function() {
        var winWidth = $(window).width();
        var conWidth;
        if(winWidth < 660) {
            conWidth = 440;
            col = 2
        } else if(winWidth < 880) {
            conWidth = 660;
            col = 3
        } else if(winWidth < 1100) {
            conWidth = 880;
            col = 4;
        } else {
            conWidth = 1100;
            col = 5;
        }

        if(conWidth != currentWidth) {
            currentWidth = conWidth;
            $('#container').width(conWidth);
            $('#container').BlocksIt({
                numOfCol: col,
                offsetX: 8,
                offsetY: 8
            });
        }
    });
});
</script>

</head>
<body>
<!-- Content -->
<section id="wrapper">
    <hgroup>
        <h2>jQuery瀑布流布局插件BlocksIt</h2> 

    </hgroup>
<div id="container">
    <div class="grid">
        <div class="imgholder">
            <img src="images/img27.jpg" />
        </div>
        <strong>Sunset Lake</strong>
        <p>A peaceful sunset view...</p>
        <div class="meta">by j osborn</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img26.jpg" />
        </div>
        <strong>Bridge to Heaven</strong>
        <p>Where is the bridge lead to?</p>
        <div class="meta">by SigitEko</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img15.jpg" />
        </div>
        <strong>Autumn</strong>
        <p>The fall of the tree...</p>
        <div class="meta">by Lars van de Goor</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img23.jpg" />
        </div>
        <strong>Winter Whisper</strong>
        <p>Winter feel...</p>
        <div class="meta">by Andrea Andrade</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img17.jpg" />
        </div>
        <strong>Light</strong>
        <p>The only shinning light...</p>
        <div class="meta">by Lars van de Goor</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img22.jpg" />
        </div>
        <strong>Rooster's Ranch</strong>
        <p>Rooster's ranch landscape...</p>
        <div class="meta">by Andrea Andrade</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img16.jpg" />
        </div>
        <strong>Autumn Light</strong>
        <p>Sun shinning into forest...</p>
        <div class="meta">by Lars van de Goor</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img21.jpg" />
        </div>
        <strong>Yellow cloudy</strong>
        <p>It is yellow cloudy...</p>
        <div class="meta">by Zsolt Zsigmond</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img28.jpg" />
        </div>
        <strong>Herringfleet Mill</strong>
        <p>Just a herringfleet mill...</p>
        <div class="meta">by Ian Flindt</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img2.jpg" />
        </div>
        <strong>Battle Field</strong>
        <p>Battle Field for you...</p>
        <div class="meta">by Andrea Andrade</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img24.jpg" />
        </div>
        <strong>Sundays Sunset</strong>
        <p>Beach view sunset...</p>
        <div class="meta">by Robert Strachan</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img19.jpg" />
        </div>
        <strong>Sun Flower</strong>
        <p>Good Morning Sun flower...</p>
        <div class="meta">by Zsolt Zsigmond</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img5.jpg" />
        </div>
        <strong>Beach</strong>
        <p>Something on beach...</p>
        <div class="meta">by unknown</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img25.jpg" />
        </div>
        <strong>Flowers</strong>
        <p>Hello flowers...</p>
        <div class="meta">by R A Stanley</div>
    </div>
    <div class="grid">
        <div class="imgholder">
            <img src="images/img20.jpg" />
        </div>
        <strong>Alone</strong>
        <p>Lonely plant...</p>
        <div class="meta">by Zsolt Zsigmond</div>
    </div> <!---->
</div>
</section>

</body>
</html>

blocksit.js文件代码

(function(a){var b={numOfCol:5,offsetX:5,offsetY:5,blockElement:"div"};var c,d;var e=[];if(!Array.prototype.indexOf){Array.prototype.indexOf=function(a){var b=this.length>>>0;var c=Number(arguments[1])||0;c=c<0?Math.ceil(c):Math.floor(c);if(c<0)c+=b;for(;c<b;c++){if(c in this&&this[c]===a)return c}return-1}}var f=function(){e=[];for(var a=0;a<b.numOfCol;a++){g("empty-"+a,a,0,1,-b.offsetY)}};var g=function(a,c,d,f,g){for(var h=0;h<f;h++){var i=new Object;i.x=c+h;i.size=f;i.endY=d+g+b.offsetY*2;e.push(i)}};var h=function(a,b){for(var c=0;c<b;c++){var d=i(a+c,"x");e.splice(d,1)}};var i=function(a,b){for(var c=0;c<e.length;c++){var d=e[c];if(b=="x"&&d.x==a){return c}else if(b=="endY"&&d.endY==a){return c}}};var j=function(a,b){var c=[];for(var d=0;d<b;d++){c.push(e[i(a+d,"x")].endY)}var f=Math.min.apply(Math,c);var g=Math.max.apply(Math,c);return[f,g,c.indexOf(f)]};var k=function(a){if(a>1){var b=e.length-a;var c=false;var d,f;for(var g=0;g<e.length;g++){var h=e[g];var i=h.x;if(i>=0&&i<=b){var k=j(i,a);if(!c){c=true;d=k;f=i}else{if(k[1]<d[1]){d=k;f=i}}}}return[f,d[1]]}else{d=j(0,e.length);return[d[2],d[0]]}};var l=function(a,c){if(!a.data("size")||a.data("size")<0){a.data("size",1)}else if(a.data("size")>b.numOfCol){a.data("size",b.numOfCol)}var e=k(a.data("size"));var f=d*a.data("size")-(a.outerWidth()-a.width());a.css({width:f-b.offsetX*2,left:e[0]*d,top:e[1],position:"absolute"});var i=a.outerHeight();h(e[0],a.data("size"));g(a.attr("id"),e[0],e[1],a.data("size"),i)};a.fn.BlocksIt=function(g){if(g&&typeof g==="object"){a.extend(b,g)}c=a(this);d=c.width()/b.numOfCol;f();c.children(b.blockElement).each(function(b){l(a(this),b)});var h=j(0,e.length);c.height(h[1]+b.offsetY);return this}})(jQuery)

原文链接: https://www.cnblogs.com/wzzl/p/4989190.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/224857

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午12:36
下一篇 2023年2月13日 下午12:36

相关推荐