我知道我需要使用回调,以便在html()
之后才会发生fadeOut()
,但在fadeOut()
回调中我无法访问$(this)
来自.hover
。
我尝试使用var point
传递选区,但它无效。
if(!$.browser.msie) {
points = $("div.point");
} else {
points = $("div.flash");
}
问题区域:
$(points).hover(
function () {
var point = $(this);
$('#features_key').fadeOut('normal', function(point) {
$('#features_key').html(point.next('.info').clone()).fadeIn('normal');
});
},
function () {
}
);
HTML:
<div class="feature" id="feature0">
<div class="point"></div>
<div class="info"><p>Roof System</p></div>
</div>
答案 0 :(得分:8)
请勿使用point作为fadeOut回调的参数。它将隐藏您之前“捕获”的点变量:
$(points).hover(
function () {
var point = $(this);
$('#features_key').fadeOut('normal', function() {
$('#features_key').html(point.next('.info').clone()).fadeIn('normal');
});
},
function () {
}
);
答案 1 :(得分:0)
通过将point作为参数放在回调函数中,您将在该函数内重置它的值。