麻烦老师帮我检查一下代码哪里有误,达不到功能

麻烦老师帮我检查一下代码哪里有误,达不到功能

var data = [{

        "src": "1.png",

        "title": "第一怪 竹筒当烟袋"

    }, {

        "src": "2.png",

        "title": "第二怪 草帽当锅盖"

    }, {

        "src": "3.png",

        "title": "第三怪 这边下雨那边晒"

    }, {

        "src": "4.png",

        "title": "第四怪 四季服装同穿戴"

    }, {

        "src": "5.png",

        "title": "第五怪 火车没有汽车快"

    }, {

        "src": "6.png",

        "title": "第六怪 火车不通国内通国外"

    }, {

        "src": "7.png",

        "title": "第七怪 老奶爬山比猴快"

    }, {

        "src": "8.png",

        "title": "第八怪 鞋子后面多一块"

    }, {

        "src": "9.png",

        "title": "第九怪 脚趾四季露在外"

    }, {

        "src": "10.png",

        "title": "第十怪 鸡蛋拴着卖"

    }, {

        "src": "11.png",

        "title": "第十一怪 粑粑叫饵块"

    }, {

        "src": "12.png",

        "title": "第十二怪 花生蚕豆数着卖"

    }, {

        "src": "13.png",

        "title": "第十三怪 三个蚊子一盘菜"

    }, {

        "src": "14.png",

        "title": "第十四怪 四个老鼠一麻袋"

    }, {

        "src": "15.png",

        "title": "第十五怪 树上松毛扭着卖"

    }, {

        "src": "16.png",

        "title": "第十六怪 姑娘叫老太"

    }, {

        "src": "17.png",

        "title": "第十七怪 小和尚可以谈恋爱"

    }, {

        "src": "18.png",

        "title": "第十八怪 背着娃娃谈恋爱"

    }];



var waterfall=function(wrap,boxes){

var boxWidth=boxes.eq(0).width()+40;

var windowWidth=$(window).width();

var colNum=Math.floor(windowWidth/boxWidth);//加入colnum的值为6


wrap.width(colNum*boxWidth);


var everyHeight=new Array();


for(var i=0;i<boxes.length;i++){

if (i<colNum) { //i的值为0 1 2 3 4 5 

everyHeight[i]=boxes.eq(i).height()+40;

}else{//i的值就是6 7 8 9 ····

    var minHeight=Math.min.apply(null,everyHeight);

    var minIndex=getIndex(minHeight,everyHeight);

    setStyle(boxes.eq(i),minHeight,boxes.eq(minIndex).position().left,i);

    everyHeight[minIndex]+=boxes.eq(i).height()+40;

}

}

}



function getIndex(minHeight,everyHeight){

for(index in everyHeight){

if(everyHeight[index]==minHeight){

return index;

}

}

}

var getStartNumber=0;

var setStyle=function(box,top,left,index){

if (getStartNumber>=index) {

return false;

}

box.css({

'position':'absolute',

    'top':top,

    'left':left,

    'opacity':'0'

}).stop().animate({

'opacity':'1'

},500);

getStartNumber=index;

}


// 数据请求检验

var getcheck=function(wrap){

var documentHeight=$(window).height();

var scrollHeigh=$(window).scrollTop();

var boxes=wrap.children('div');

var lastBoxTop=boxes.eq(boxes.length-1).offset().top;//boxes.last()

var lastHeight=boxes.eq(boxes.length-1).height+20;

var lastColHeight=lastBoxTop+lastHeight;

return documentHeight+scrollHeigh>=lastColHeight? true:false;

}


var appendBox=function(wrap){

if (getcheck(wrap)) {

for(i in data){

var innerString='<div class="box"><img src="imgs/'+data[i].src+'" alt=""></div>';

wrap.append(innerString);

}

    }

    else{

    return false;

    };

waterfall(wrap,wrap.children('div'));

    

}


$(document).ready(function(){

var wrap=$('.wrap');

var boxes=$('.wrap').children('div');

waterfall(wrap,boxes);

$(this).scroll(function(event){

appendBox(wrap,boxes)

})

})

老师可以帮我看一下为什么不能有到最下面那张才加载下一行的图片的功能,麻烦老师了,谢谢



CSS:代码

*{margin:0;border:0;border:none;}

body{background: #ddd;}

.wrap{width: auto;height: auto;position: relative;margin:0 auto;}

.wrap .box{float: left;width:280px;height: auto;margin: 10px;padding:10px;box-sizing: border-box;border-radius: 5px;background: #fff;}

.wrap .box img{width: 260px;margin:0 auto;}




html:代码


<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Waterfall</title>

<link rel="stylesheet" type="text/css" href="css/style.css">

<script type="text/javascript" src="javascript/jquery.js"></script>

<script type="text/javascript" src="javascript/script.js"></script>

</head>

<body>

<div>

<div><img src="imgs/1.png" alt=""></div>

<div><img src="imgs/2.png" alt=""></div>

<div><img src="imgs/3.png" alt=""></div>

<div><img src="imgs/4.png" alt=""></div>

<div><img src="imgs/5.png" alt=""></div>

<div><img src="imgs/6.png" alt=""></div>

<div><img src="imgs/7.png" alt=""></div>

<div><img src="imgs/8.png" alt=""></div>

<div><img src="imgs/9.png" alt=""></div>

<div><img src="imgs/10.png" alt=""></div>

<div><img src="imgs/11.png" alt=""></div>

<div><img src="imgs/12.png" alt=""></div>

<div><img src="imgs/13.png" alt=""></div>

<div><img src="imgs/14.png" alt=""></div>

<div><img src="imgs/15.png" alt=""></div>

<div><img src="imgs/16.png" alt=""></div>

<div><img src="imgs/17.png" alt=""></div>

<div><img src="imgs/18.png" alt=""></div>

</div>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
怎么都被占用了呢 2017-09-01 18:38:28

http://img1.sycdn.imooc.com/climg//59a938930001264008040269.jpgheight是个方法,要加括号

秋渡 2017-09-01 16:14:38

在“数据请求检验” 处的 var lastHeight=boxes.eq(boxes.length-1).height+20 中,height() 方法是有括号,把它加上应该就可以了。

一路电光带火花 2017-04-30 19:37:55

建议你将老师上课中的代码下载下来,对比着看一下,因为你的代码只有脚本,html和样式什么的也没有,关键跟老师写的也不一样,所以定位不到问题,因为不知道脚本定义的是那一块的代码~这样是很难找问题的~或者你发一个全部的代码,这样我们也好帮你看!

  • 提问者 steven_hui #1
    好的,谢谢
    2017-05-01 12:22:37
  • 提问者 steven_hui #2
    请帮我看看,谢谢你
    2017-05-01 12:27:51
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师