我有以下html:
<div class="side">
<div class="imageFill"></div>
<img src="/path/to/image1.jpg" class="sideImage">
</div>
<div class="side">
<div class="imageFill"></div>
<img src="/path/to/image2.jpg" class="sideImage">
</div>
<div class="side">
<div class="imageFill"></div>
<img src="/path/to/image3.jpg" class="sideImage">
</div>
我想发生的是 由于每个图像都已满载,因此我想隐藏前面的图像<div class="imageFill"></div>
这是我正在尝试的方法,但是并没有将它们隐藏起来:
$(document).ready(function(){
$(".sideImage").each(function (){
$(this).bind("load", function(){
$(this).closest('.imageFill').fadeOut();
});
});
});
.closest()在祖先树中搜索匹配的元素,但是在您的情况下,该imageFill
元素是该元素的前一个同级sideImage
,因此您需要使用.prev()
$(document).ready(function () {
$(".sideImage").on('load', function () {
//it is the previous sibling
$(this).prev('.imageFill').fadeOut();
}).filter(function () {
//if the image is already loaded the load handler will not get triggered, so manually trigger it
return this.complete;
}).trigger('load');
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句