jquery瀑布流布局插件,兼容ie6不支持下拉加载,用于制作分类卡
2024-09-29 02:01:56
调用方法
$('需要布局的块').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中10个非常有用的遍历函数
- 微信开放平台开发——网页微信扫码登录(OAuth2.0)
- AngularJS快速入门指南17:Includes
- 实验:传输层:UDP协议 学习笔记
- Ajax请求ashx 返回 json 格式数据常见问题
- for循环里面的判断条件
- Linux的用户和用户组管理
- spoj 7258 Lexicographical Substring Search (后缀自动机)
- php-fpm 相关
- 深入理解Python中协程的应用机制: 使用纯Python来实现一个操作系统吧!!
- Unrecognized token &#39;XXXX&#39;: was expecting (&#39;true&#39;, &#39;false&#39; or &#39;null&#39;)
- phpexcel 使用模板导出报表
- springboot用户登陆密码两次md5加密
- TODO java-web相关 servlet过滤器+监听器
- javascript模块化编程-详解立即执行函数表达式IIFE
- msql 复杂练习
- Spring Boot 揭秘与实战(二) 数据存储篇 - Redis
- 显式锁(四)Lock的等待通知机制Condition
- HTML5中的Web Storage(sessionStorage||localStorage)理解与简单实例
- MAVEN打zip包