调用方法

$('需要布局的块').sault()

如果要在图片加载后调用需要使用$(window).load(function(fx){});函数,即等待图片加载完成再调用

3个参数

1.left:左右间隔

2.top:上下间隔

3.split:希望分成几列

全部是数字

实现原理是绝对定位,不用浮动的原因是,浮动会造成空白

为了固定位置,需要在父元素上使用相对定位

Array.prototype.max = function(){
return Math.max.apply({},this);
} ; Array.prototype.min = function(){
return Math.min.apply({},this);
}; (function ( $ ) {
$.fn.sault=function(options){ var settings = $.extend({
left:10,
top:10,
split:3
}, options);
this.css('position','absolute'); $harr=new Array();
for(var $s=0;$s<settings.split;$s++){
$float0=this.eq($s);
$harr[$s]=$float0.height();
$width=$float0.width(); if($s==0){ }else{
$float0.css('left',$s*($width+settings.left)+'px');
}
}; $count=0; this.each(function(){ if($count<settings.split){
$count++;
}else{
$min= $harr.min();
for(var $i in $harr){
if($harr[$i]==$min){
$index=$i;
}; }; $(this).css('top',$min+settings.top+'px');
$harr[$index]=$min+$(this).height()+settings.top;
$(this).css('left',$index*($width+settings.left)+'px');
$count++;
}
});
this.parent().height($harr.max()+'px'); } }( jQuery ));

修改,好像在ie8下有兼容性问题,所以有了这个修改

Array.prototype.max = function(){
return Math.max.apply({},this);
} ; Array.prototype.min = function(){
return Math.min.apply({},this);
}; (function ( $ ) {
$.fn.sault=function(options){ var settings = $.extend({
left:10,
top:10,
split:3
}, options);
this.css('position','absolute'); $harr=new Array();
for(var $s=0;$s<settings.split;$s++){
$float0=this.eq($s);
$harr[$s]=$float0.height();
$width=$float0.width(); if($s==0){ }else{
$float0.css('left',$s*($width+settings.left)+'px');
}
}; $count=0; this.each(function(){ if($count<settings.split){
$count++;
}else{
$min= $harr.min();
for(var $i in $harr){
if($harr[$i]==$min){
$index=$i;
}; }; $(this).css('top',$min+settings.top+'px');
$harr[$index]=$min+$(this).height()+settings.top;
$(this).css('left',$index*($width+settings.left)+'px');
$count++;
}
});
this.parent().height($harr.max()+'px');
this.parent().height($harr.max()+20+'px\0'); }; }( jQuery ));

jquery瀑布流布局插件,兼容ie6不支持下拉加载,用于制作分类卡的更多相关文章

  1. myWaterfall - jQuery瀑布流布局插件

    myWaterfall - jQuery瀑布流布局插件 Demo http://jsfiddle.net/q3011893/p5k2ogy8/embedded/result,html,css,js/ ...

  2. 集成iscroll 下拉加载更多 jquery插件

    一个插件总是经过了数月的沉淀,不断的改进而成的.最初只是为了做个向下滚动,自动加载的插件.随着需求和功能的改进,才有了今天的这个稍算完整的插件. 一.插件主功能: 1.下拉加载 2.页面滚动到底部自动 ...

  3. jQuery模拟原生态App上拉刷新下拉加载

    jQuery模拟原生态App上拉刷新下拉加载效果代码,鼠标上拉时会显示loading字样,并且会模拟加载一条静态数据,支持触屏设备使用. <!doctype html> <html ...

  4. ASP.NET仿新浪微博下拉加载更多数据瀑布流效果

    闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前, ...

  5. JQuery实现无刷新下拉加载图片

          最近做的一个项目需要做页面无刷新下拉加载图片,调研了一番,大多都采用检测滚动条达到底部,然后利用ajax加载下一页数据对页面数据进行添加,根据这一逻辑,自己写了一个,具体代码如下: JQu ...

  6. 原生JS下拉加载插件分享。

    无聊写了一个JS下拉加载插件,有需要的可以下载. // 使用 // new ManDownLoad("#ul","json/load.json",functio ...

  7. YCRefreshView-自定义支持上拉加载更多,下拉刷新。。。

    自定义支持上拉加载更多,下拉刷新,支持自由切换状态[加载中,加载成功,加载失败,没网络等状态]的控件,拓展功能[支持长按拖拽,侧滑删除]可以选择性添加 .具体使用方法,可以直接参考demo. 轻量级侧 ...

  8. 移动端好用的下拉加载上拉刷新插件 dropload插件

    入了很多下拉加载上拉刷新的插件,但是感觉都不好用,知道最近遇到这款dropload的插件,瞬间打开新世界的大门啊,无卡顿简单易用可配置 <!doctype html> <html&g ...

  9. Jquery手机下拉刷新,下拉加载数据

    一.Jquery手机下拉刷新,下拉加载数据.附加有源码 <!DOCTYPE html> <html> <head> <title>手机</titl ...

随机推荐

  1. django Modelform 使用

    前言: 为什么要用form去验证呢? 我们提交的是form表单,在看前端源码时如果检查到POST URL及我们提交的字段,如果没有验证我们是否可以直接POST数据到URL,后台并没有进行校验,直接处理 ...

  2. Web安全-XSS-SQL注入-CSRF

    一.XSS 跨站脚本攻击(Cross Site Scripting): 1.指攻击者在网页中嵌入客户端脚本(例如JavaScript), 当用户浏览此网页时,脚本就会在用户的浏览器上执行,从而达到攻击 ...

  3. LeetCode OJ-- Reorder List **

    https://oj.leetcode.com/problems/reorder-list/ 将一个链表重新排序,比如 1 2 3 4 5,变成 1 5 2 4 3 1.找到中间节点 mid 2.将链 ...

  4. AC日记——[中山市选2009]谁能赢呢? bzoj 2463

    2463 思路: 博弈: 把先手和后手的走的两个格子看做一个1*2的方格: 如果n为偶数,那么棋盘一定可以被1*2的方格覆盖: 前端为先手,后端为后手: 那么,当还剩下一个1*2的方格时,先手一定可以 ...

  5. OceanBase 2.1 的ORACLE兼容性能力探秘

    概述 OceanBase是一款通用的分布式关系型数据库,目前内部业务使用比较多有两个版本:1.4和2.1.OceanBase每个版本变化总能带给人很多惊喜,其中2.1版本实现了ORACLE很多特性的兼 ...

  6. 维生素C - 坏血症

    在地理大发现时代,许多水手在远洋航行时不幸罹患一种典型航海病,患者皮肤溃烂.牙龈出血不止,不久就会危及生命,这就是大名鼎鼎的坏血症,是一种因为缺乏维生素C而产生的的皮.粘膜下出血.齿龈肿胀.关节和肌肉 ...

  7. 笔记-迎难而上之Java基础进阶-终

    使用Stream流的方式,遍历集合 import java.util.*; public class StreamDemo{ public static void main(String[] args ...

  8. Ruby 定时任务之一(初步尝试)

    最近工作需要用到定时任务.原来写java的时候也用到过类似的Scheduler的功能. Ruby语言中也有同样功能的工具.rufus-scheduler.下面介绍一下rufus-scheduler. ...

  9. MySQL GUI Tools 使用简介

    转自:http://database.ctocio.com.cn/422/8919922.shtml    MySQL GUI Tools是一套图形化桌面应用工具套装,可以用来管理MySQL服务器.该 ...

  10. 蒙特卡洛法MATLAB

    %%unifrnd函数的使用 %unifrnd函数可以创建随机的连续均匀分布的数组,一般式为R=unifrnd(A,B); %A和B是标量或者相同维数的行向量或者列向量.R=unifrnd(A,B,[ ...