调用方法

$('需要布局的块').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. 在razor中使用递归,巧用递归

    原文发布时间为:2011-04-20 -- 来源于本人的百度文章 [由搬家工具导入] Learning Razor–Writing an Inline Recursive HTML Helper Wr ...

  2. echarts中关于merge的代码

    function merge(target, source, overwrite) { // We should escapse that source is string // and enter ...

  3. 浏览器的 16ms 渲染帧

    标签 归档 关于arttle Land 浏览器的 16ms 渲染帧 DOM JavaScript 异步 性能 重绘 由于现在广泛使用的屏幕都有固定的刷新率(比如最新的一般在 60Hz), 在两次硬件刷 ...

  4. LeetCode OJ-- Populating Next Right Pointers in Each Node II **@

    https://oj.leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/ 接上一题目,输入的树不是perfect ...

  5. LeetCode OJ--Anagrams **

    https://oj.leetcode.com/problems/anagrams/ 在一个vector<string>中,找到所有经过顺序变换,可以变成一样的 string. 首先,对每 ...

  6. ABP开发框架前后端开发系列---(1)框架的总体介绍

    ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架.ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型.学习使用ABP ...

  7. 单堆石子的Nim Game

    两个人轮流捡石子,只有一堆石子,石子数为n.每个人每次至少捡一个石子,至多捡m个.取走最后一个石子的人胜利,若我方先手,求能否胜利. 若n % (m + 1)为0,则必输,否则必赢.

  8. Springboot如何优雅的解决ajax+自定义headers的跨域请求

    1.什么是跨域 由于浏览器同源策略(同源策略,它是由Netscape提出的一个著名的安全策略.现在所有支持JavaScript 的浏览器都会使用这个策略.所谓同源是指,域名,协议,端口相同.),凡是发 ...

  9. Atcoder Contest 015 E

    题目大意 给定一条数轴. 数轴上有\(n\)个点, 它们的初始位置给定, 移动速度也给定. 从0时刻开始, 所有点都从其初始位置按照其移动速度向数轴正方向移动. 这些点开始时可能是红色的, 也可能是黑 ...

  10. main函数参数

    方法1. C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(int argc, char* ar ...