$(".row").live("hover",
function()
{
$(".remove").fadeIn();
}
);
$(".row").live("blur",
function()
{
$(".remove").fadeOut();
}
);
<div class="row chapter" node="1">
<img class="remove" src="design/images/remove.png">
Sample
</div>
<div class="row chapter" node="2">
<img class="remove" src="design/images/remove.png">
Sample 2
</div>
我想做的是,
.remove
(表示
内部悬停.row
div )并淡出模糊事件。.remove
点击,获取父div的节点属性http://jsfiddle.net/tt13/3VG5P/3/
我错过了什么吗?
答案 0 :(得分:2)
- 淡入淡出事件时,图像带有.remove(位于徘徊的.row div内),淡出模糊事件。
醇>
这将在悬停行中切换“删除”类。
$('.row').hover(function() {
$(this).find('.remove').stop(true, true).fadeIn();
}, function(){
$(this).find('.remove').stop(true, true).fadeOut();
});
您还应该使用stop(true, true)来清除动画队列并结束任何正在进行的动画。
- 开.remove click,获取父div的节点属性
醇>
$('.remove').click(function() {
var $parent = $(this).parent();
var nodeValue = $parent.attr('node') || "missing-node-value";
console.log("node =", nodeValue); // DEBUG
$parent.slideUp();
});
查看 demo 。
答案 1 :(得分:1)
检查语法:
(".remove").fadeIn();
//Should be
$(".remove").fadeIn();
Try:
$(this).children(".remove").fadeIn();
<强>编辑:强> BLUR事件不适用于DIV,所以你可以尝试使用mouseout,比如
$(".row").live("mouseout", function() {
$(this).children(".remove").fadeOut();
});
答案 2 :(得分:1)
$(".row").hover(function(){
$(".remove", this).stop().fadeIn();
}, function(){
$(".remove", this).stop().fadeOut();
});
尝试这个。
答案 3 :(得分:1)
这是CSS的工作,而不是jQuery。我会用这个简单的CSS:
.row .remove {
opacity: 0;
-webkit-transition: opacity 0.5s ease;
-moz-transition: opacity 0.5s ease;
-ms-transition: opacity 0.5s ease;
transition: opacity 0.5s ease;
}
.row:hover .remove {
opacity: 1;
}
如果你还想要javascript:
$(".row").on({
mouseover: function() {
$(this).find('.remove').fadeIn();
},
mouseout: function() {
$(this).find('.remove').fadeOut();
}
});