我无法正常启动以下功能。一切正常,除了我认为我从setTimeout函数中丢失了范围。 这是JS:
function galContent(){
var hovInt;
$(".element").each(function(){
$(this).on("mouseenter", function(){
clearTimeout(hovInt);
hovInt = setTimeout(function(){
//following line not working...
$(this).find(".elContent").slideDown();
}, 300);
});
$(this).on("mouseleave", function(){
$(this).find(".elContent").slideUp();
});
});
}
HTML:
<div class="element web">
<div class="elImg">
<img src="01.jpg" alt="" title="">
</div>
<div class="elContent">
</div>
</div>
答案 0 :(得分:0)
如果this
引用setTimeout中的另一个对象,则以这种方式传递引用:
function galContent(){
var hovInt;
$(".element").each(function(i){
$(this).on("mouseenter", function(){
clearTimeout(hovInt);
hovInt = setTimeout(function(){
//following line not working...
$(".element").eq(i).find(".elContent").slideDown();
}, 300);
});
$(this).on("mouseleave", function(){
$(".element").eq(i).find(".elContent").slideUp();
});
});
}
属性index()
也可以。