[Jquery]瀑布流

$(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){
            var $main=$("#main");
            $.each(dataInt.data,function(i){
                var $oPin=$(‘<div>‘).addClass("pin").appendTo($main);
                var $oBox=$(‘<div>‘).addClass("box").appendTo($oPin);
                var $oImg=$(‘<img>‘);
                $oImg.attr("src",‘./images/‘+$(this).attr("src")).appendTo($oBox);
            });
            waterfall();
        };
    });
    
    function waterfall(){
        var $main=$("#main");
        var $box=$(".box");
        var $pin=$(".pin");
        var $img=$pin.find("img");
        var pinw=$pin.eq(0).outerWidth();
        var ww=$(window).width();
        var col=Math.floor(ww/pinw);
        $main.css({"width":col*pinw,"margin":"0 auto"});
        var pinArr=[];       //定义数组不需要美元符
        $pin.each(function(i) {
            var pinh=$pin.eq(i).outerHeight();
            if(i<col){
                pinArr[i]=pinh;
            }else{
                var minH=Math.min.apply( null,pinArr);
                var index=$.inArray(minH,pinArr);
                var pinl=$pin.eq(index).position().left;       //用.offset().left会有15偏差
                $(this).css({"position":"absolute","top":minH,"left":pinl});
                pinArr[index]+=$pin.eq(i).outerHeight();
            }
        });
    }

function checkscrollside(){
        var $pin=$(".pin");
        var documentH=$(document).height();
        var scrollTop=$(window).srcollTop();
        var lastpinH=$pin.eq($pin.length-1).offset().top+Math.floor($pin.eq($pin.length-1).outerHeight()/2);
        return(lastpinH<documentH+scrollTop)?true:false;
    }    
})

[Jquery]瀑布流

时间: 2024-07-29 12:01:29

[Jquery]瀑布流的相关文章

8款实用的Jquery瀑布流插件

1.网友Null分享Jquery响应式瀑布流布局插件 首先非常感谢网友Null的无私分享,此作品是一款响应式瀑布流布局Jquery插件,网友Null增加了一个屏幕自适应和响应式,响应式就是支持智能手机浏览,效果非常棒,遗憾的是不支持IE9以下版本,所以网友们在演示的时候请使用谷歌.火狐等浏览器... 分享JquerySchool网站里面的8款Jquery瀑布流插件 2.网友sole分享23行Jquery代码实现定位瀑布流布局特效 首先非常感谢网友sole的无私分享,此Jquery特效是我从互联网

jQuery瀑布流插件——jQuery.Waterfall

插件--jQuery.Waterfall 思路: 其实只要了解了整个流程,要实现这个插件也不难,大家都玩过俄罗斯方块吧,原理差不多,找到合适的地方叠上去就好了,在这里,每个块的宽度是必需给定的,然后计算出列数,再维护一个数组,存储每列的高度,往最小高度的列添加块即可.滚动时,当最小高度出现在可视窗口时就启动ajax从服务器拉取更多的数据. 注意的地方: 如果瀑布流的块中包含图片,则需要事先知道图片的高度(其实就是为了要计算出整个块的高度,以便精确定位),图片的高度可以从服务器返回,本插件是整合p

jQuery瀑布流无限拖三大利器:masonry+imagesloaded+infinitescroll

瀑布流已经是几乎过时的技术了,不过对于很多想要快速实现它的朋友而言,却绝非易事,因为即使我们已经有很多现成的代码,却发现在自己的开发环境中无法快速得到自己想要的结果.就像我们现在要介绍的三大利器(masonry+imagesloaded+infinitescroll)即使它们是如此有效,却在马上要使用的时候让我们拿着如烫手山芋班很难真正达到我们想要的效果. 下面,我们从其原理来讲解它们的使用,以帮助你更好的发挥它的功效.但为了快速实现,我们不讲解它们的全部内容. 1. 合理的HTML布局是问题的

Jquery瀑布流效果(下篇)

接着上篇瀑布流效果说(上篇地址为http://www.cnblogs.com/jiaojiaome/articles/4123586.html). 第一个文件myself实现了瀑布流的效果,但是存在可以优化的地方. 比如initial方法,第一次刚加载的时候调用initial方法从第一张慢慢布局是没有问题的. but,后面拖动滚动后,如果满足条件,继续加载其他的,加载毕后再次调用initial()方法, 这里是可以优化的,因为之前的元素已经布局好了,不需要重新布局.所以可以从后面的元素开始 本篇

炫酷的jquery瀑布流

最近做了一个瀑布流效果,思路很简单 首先计算屏幕一行可以放多少个图片,然后在第二行开始,计算每一列的高度并取出最小值,将新图片加载在最小列高度下,如此循环,并且设定一个条件,当滑动到一定距离后,开始重新加载.当然中间我们可以加上一些动画效果,让网页看起来更炫酷一些. html'比较简单,这里用了li元素,给每个li外围设置了padding,内部容器设定颜色,以达成元素间隔效果,这样避免了使用maring元素最后一个还要特殊处理,当然我们还可以通过给ul设置负的margin值来解决这个问题,不过由

jquery 瀑布流代码 [简约]

HTML: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>瀑布流代码</title> <link rel="stylesheet" type="text/css" href="static/css/style.css"> </

PHP+jquery 瀑布流+LightBox图片盒子特效

最近在做一个网站,要对很多图片排版,想到了瀑布流,不过瀑布流是实现了,但是需要查看大图片,于是将瀑布流和LightBox图片盒子很好的结合了起来,可在当前页使用Lightbox放大瀑布流中的缩略图,有需要的可下载使用. 完整代码下载:waterwall_lightbox.rar 效果在线显示:http://www.codesc.net/other/waterwall_lightbox/index.php

jQuery瀑布流+无限加载图片

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> * { margin: 0px; padding: 0px; } #contianer { position: relative; font-size: 0; margin: 0 auto; }

jQuery瀑布流

此文转载!