鼠标移到图片上,图片的右上角显示一个小叉叉,是怎么做的?
我要做的功能是:
鼠标移到图片上,图片的右上角出现xx图标,然后点击xx图标,该图片消失,后续图片补上。
css:
.hid {
display:none;
}
.xx {
width:12px;
height:12px;
}$("#imgs img").mouseenter(function () {
var myself = $(this);
var xx = $("<img src='Images/imgs/xx.jpg' class='xx' />");
var top = $(this).offset().top;
var left = $(this).offset().left + $(this).width() - 12;
xx.css({ "position": "absolute", "top": top, "left": left, "display": "" });
$(document.body).append(xx);
$(".xx").click(function () {
myself.hide();
$("#imgs img").each(function () {
if ($(this).hasClass("hid")) {
$(this).removeClass("hid");
return false;
}
});
});
}).mouseleave(function () {
$(".xx").hide();
});<div style="float: left;" id="imgs">
<img src="Images/hotel/hp.jpg" style="width: 130px; height: 90px; margin-left: 30px; margin-top: 20px;" />
<img src="Images/hotel/hp2.jpg" style="width: 130px; height: 90px; margin-top: 20px;" />
<img src="Images/hotel/hp3.jpg" style="width: 130px; height: 90px; margin-top: 20px;" />
<img src="Images/hotel/hp4.jpg" style="width: 130px; height: 90px; margin-top: 20px;" class="hid" />
<img src="Images/hotel/hp5.jpg" style="width: 130px; height: 90px; margin-top: 20px;" class="hid" />
<img src="Images/hotel/hp6.jpg" style="width: 130px; height: 90px; margin-top: 20px;" class="hid" />
</div>
<div style="float: left;" id="imgs">
<span><img src="Images/hotel/hp.jpg" style="width: 130px; height: 90px; margin-left: 30px; margin-top: 20px;" /></span>
<span><img src="Images/hotel/hp2.jpg" style="width: 130px; height: 90px; margin-top: 20px;" /></span>
<span><img src="Images/hotel/hp3.jpg" style="width: 130px; height: 90px; margin-top: 20px;" /></span>
<span class="hid"><img src="Images/hotel/hp4.jpg" style="width: 130px; height: 90px; margin-top: 20px;"/></span>
<span class="hid"><img src="Images/hotel/hp5.jpg" style="width: 130px; height: 90px; margin-top: 20px;" /></span>
<span class="hid"><img src="Images/hotel/hp6.jpg" style="width: 130px; height: 90px; margin-top: 20px;"/></span>
</div>
<style>
#imgs span{float:left;position:relative}
#imgs span img.xx{position:absolute;right:0px;top:20px;width:12px;height:12px;display:none}
.hid {display:none;}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
$(function () {
$('#imgs span').append("<img src='Images/imgs/xx.jpg' class='xx' alt='xx' />");
});
$("#imgs span").mouseenter(function () {
$('img.xx', this).show();
$(".xx").click(function () {
$(this).closest('span').remove();
$('#imgs span.hid:eq(0)').removeClass('hid');
})
}).mouseleave(function () {
$('img.xx', this).hide()
});
</script>
因为xx是动态创建的,click事件 要使用live绑定,
$(".xx").live("click",function () {
...
});
去完成。
<div class="imgs">
<a class="img-wrap" href="javascript:void(0)">
<img class="img" src="img1.jpg"/>
<i class="img-close-icon"></i>
</a>
<a class="img-wrap" href="javascript:void(0)">
<img class="img" src="img1.jpg"/>
<i class="img-close-icon"></i>
</a>
<a class="img-wrap" href="javascript:void(0)">
<img class="img" src="img2.jpg"/>
<i class="img-close-icon"></i>
</a>
<a class="img-wrap" href="javascript:void(0)">
<img class="img" src="img3.jpg"/>
<i class="img-close-icon"></i>
</a>>
</ul>
.img-wrap{
display: block;
position: relative;
...
}
.img-wrap .img{
display:block;
...
}
.img-wrap .img-close-icon{
display:none;
}
.img-wrap:hover .img-close-icon{
display:block;
}
$(".img-close-icon").click(function(){
$(this).parent().hide();
});