问题描述:
遍历图片的方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <div class="content-padded no-mar book-list"> <?php foreach($new_books["data"] as $val):?> <div class="card no-boxshadow no-mar" style="width:33%;border-bottom:1px solid #e6e6e6;float:left;" onclick="Frjj.book_url('<?php echo $val["book_url"];?>',<?php echo $val["id"];?>)"> <div class="item-media" align="center"> <img src="<?php echo Tools::get_upload_url($val["book_img"]);?>" width="100%"/> </div> <div class="card-content-inner no-pad book-info"> <h6 class="book-title"><?php echo $val["book_name"];?></h6> <h6 class="book-autor color-gray"><?php echo $val["book_author"];?></h6> <h6 class="color-price">¥<?php echo $val["price"];?></h6> </div> </div> <?php endforeach;?> </div>
|
当页面第一次加载img时,显示父级高度:

因为有分割线[用的定位],在视图中这样显示:

解决
问题出现在php加载img与js获取img宽高协调不一致上。
需要在img加载完毕之后,才可以设置分割线的位置。
1 2 3 4 5 6 7 8 9
| $(".card img").one('load', function() { var commonH = $(this).parent().parent().height(); var commonW = $(this).parent().parent().width(); $('.line-row').css('top',commonH); $('.line-column1').css('left',commonW); $('.line-column2').css('left',commonW*2); }).each(function() { if($(this).complete) $(this).load(); });
|

