jQuery_瀑布流2|学习笔记

简介: 快速学习 jQuery_瀑布流2

开发者学堂课程【jQuery 开发教程:jQuery_瀑布流2】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/362/detail/4317


jQuery_瀑布流2

 

一、瀑布流

通过不断调用 imglocation 方法可以在该数组中最小的那个图片,并在下方添加下一个图片

1. 将图片摆放到最小高度下

function Imglocation(){

var box=$(".pin");//返回一个数组

var boxWidth=box.eq(0) .width();//每张图片的宽度

var num=Math. floor ($ (window) . width()/boxWidth);//-行能摆放图片的个数

var numArr=[];

box . each( function(index,yalue) {

var boxHei ght=box . eq(index) . height();//获取每张图片的高度

if(index

numArr [index] =boxHeight;

}else{//第二排

var minboxHeight=Math . min. apply (numArr ,numArr);

//console. log(minboxHeight);

//jQuery. inArray(value,数组,数组的索引值日)

var minIndex=$. inArray (minboxHei ght ,numArr);//最小高度图片的素引值

//console. log (minIndex);

$(value).css({

position: "absolute",

top: minboxHeight,

left:box. eq (minIndex) .position().left

});

numArr [minIndex] +=box.eq(index). height();//新高度

})

2. 创建一个对象承载图片

$ (document) .ready(function(){

$ (window) . on("load", function(){//图片加载完成之后再显示

imgLocation() ;

var dataImg={"data":[{"src":"i1.jpg"},{"src":"i2.jpg"}]};

$ (window) . scroll( function(){

//

if(getSideHeight()){

$. each(dataImg . data, function (index,value){

var pin=$ ("

") .addClass ("pin") .appendTo("#main");

var box=$ ("

") . addClass ("box") . appendTo(pin) ;

var img=$("").attr ("src", "images/"+$ (value) .attr ("src")) . appendTo(box);

});获取最后一张图片距离项端的高度-他自身的

imgLocation();

})

});

3. 定义一个方法获取边缘的高度

function getsideHeight(){

var box=$ (".pin");

var lastImgHeight= (box. last().get(0)).offsetTop-Math. floor (box. last() .height()/2);

var documentHeight=$ (document).height();//获取当前窗口的一个高度

var scrollHeight=$ (window) .scrollTop();//获取滚动的距离

return (lastImgHei ght

4. 动态创造标签并且添加图片

获取最后一张图片距离项端的高度-他自身的

if(getsideHeight()) {

$. each(dataImg . data, function (index ,value) {

var pin=$ ("

") . addClass ("pin") . appendTo("#main") ;

var box=$ ("

").addClass ("box") . appendTo(pin);

var img=$("") .attr("src", "images/"+$ (yalue) .attr ("src")) .appendTo(box);

});

imglocation() ;

5. 最终运行结果:

图片28.png


相关文章
|
3月前
|
JavaScript 前端开发 程序员
后端程序员的前端必备-jQuery核心学习笔记
后端程序员的前端必备-jQuery核心学习笔记
58 13
|
5月前
|
JavaScript
jQuery实现瀑布流
jQuery实现瀑布流
|
6月前
|
JavaScript 前端开发 API
web学习笔记(二十九)jQuery
web学习笔记(二十九)jQuery
39 0
|
6月前
|
JavaScript 前端开发 Windows
jQuery权威指南学习笔记
jQuery权威指南学习笔记
|
移动开发 JavaScript 前端开发
[HTML CSS JS ES6 JS WebAPI JQuery]学习笔记目录
[HTML CSS JS ES6 JS WebAPI JQuery]学习笔记目录
|
JavaScript
jQuery图片瀑布流demo效果示例(整理)jQuery瀑布流效果
jQuery图片瀑布流demo效果示例(整理)jQuery瀑布流效果
|
JavaScript 前端开发 Java
HTML+CSS+JS 学习笔记(四)———jQuery
HTML+CSS+JS 学习笔记(四)———jQuery
|
JavaScript 前端开发 索引
JavaScript学习笔记(五) jQuery
JavaScript学习笔记(五) jQuery
86 0
|
Web App开发 JavaScript 前端开发
jQuery学习笔记——jQuery基础
什么是jQuery?jQuery是一个快速、简洁的JavaScript库,其设计宗旨是“write less,do more”,倡导用更少的代码,做更多的事情。通过这段时间的学习,我感觉jQuery是一个“语法糖”,就像是包在糖果外面的包装,让js看起来更好看。
|
JavaScript 前端开发 API
jquery学习笔记
1.jquery是一个框架,是javasript框架。 2.jquery能做什么? *取得页面中元素,遍历DOM(document object model文档对象模型)树,jquery为了准确的获取需要检查活操纵的文档元素,提供了可靠而富有效率的选择符机制。
88 0