为什么最后一个盒子的高度是加20,不是40吗

为什么最后一个盒子的高度是加20,不是40吗

var lastboxH = $('#wrap div').eq($('#wrap div').length-1).height()+20;

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

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

2回答
怎么都被占用了呢 2018-04-01 12:55:32

你将自己写的代码完整的放上来吧,这样方便帮你调试,说明问题。

好帮手慕星星 2018-03-30 17:20:18

视频中的两行代码:

http://img1.sycdn.imooc.com//climg/5abe00ca0001bb8509950070.jpg

获取最后一个盒子距顶部高度的时候已经包括了最后一个盒子margin-top和padding-top值了,所以后面出了获取盒子自身高度还需要加上margin-bottom和padding-bottom值,也就是20px。自己再理解下,祝学习愉快~~

  • 提问者 丶四夕 #1
    谢谢老师 ,还有个问题。关于解决追加盒子并进行瀑布流布局后,追加的盒子都会闪一下的问题,老师是另外定义个函数写样式,我换了一个方式,就是每次进行瀑布流布局的盒子是新增加的盒子,这样就不会把所有的盒子的css都重写一遍了,但是为什么无法实现效果呢 ,不同部分如下,少了个定义css样式的函数,其他都跟老师写的一样, // 追加盒子函数 var number=0; var index=0; var appendBox = function(wrap){ if (getCheck()==true) { for(i in data){ innerString = '<div><img src="images/'+data[i].src+'"><a href="#">'+ data[i].title +'</a></div>'; wrap.append(innerString); } }else{ return false; } number++; index=17*number; waterfall(wrap,$('#wrap:gt(index)'));
    2018-03-30 17:28:09
  • 好帮手慕星星 回复 提问者 丶四夕 #2
    你的 innerString没有定义,前面应该加一个var,还有你的number和index是起什么作用呢,没有看明白哦。
    2018-03-30 18:26:14
  • 提问者 丶四夕 回复 好帮手慕星星 #3
    图片和文字都出来了,可能是我复制的时候弄掉了var 那个我是这样想的,每次添加盒子的时候,都需要把所有的盒子获取一遍,再传到waterfall函数里面进行瀑布流布局,而样式写在瀑布流函数里,所以每次都要重写样式导致他闪一下,我想的就是每次只传新增加的盒子,定义个index,为上次最后一个盒子的索引,每次判定要进行加盒子的时候就让number+1,然后用17乘number得到索引,再用gt选择器传到waterfall里。但是没能实现效果,不知道哪儿错了
    2018-03-30 18:50:50
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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