Jquery 在div中显示隐藏图像
.list_rowtext是一个div标记。实际上,我想要的是,当我将鼠标悬停在div上时,图像会显示,当鼠标焦点移除时,图像会消失,而这个div标记位于listview itemtemplate中,意味着它会重复。Jquery 在div中显示隐藏图像,jquery,Jquery,.list_rowtext是一个div标记。实际上,我想要的是,当我将鼠标悬停在div上时,图像会显示,当鼠标焦点移除时,图像会消失,而这个div标记位于listview itemtemplate中,意味着它会重复。 当我将鼠标悬停在div上时,它会显示图像,但当鼠标焦点从该div上移除时,图像不会消失。setTimeout函数始终在全局范围内执行,因此在执行该函数时,这是一个窗口。 使用闭包指向所需的目标: var hide = false; $(".list_rowtext"
当我将鼠标悬停在div上时,它会显示图像,但当鼠标焦点从该div上移除时,图像不会消失。setTimeout函数始终在全局范围内执行,因此在执行该函数时,这是一个窗口。 使用闭包指向所需的目标:
var hide = false;
$(".list_rowtext").hover(function () {
if (hide) clearTimeout(hide);
$(this).children("img").fadeIn();
},
function () {
hide = setTimeout(function ()
{ $(this).children("img").fadeOut("slow") }, 250);
});
你能提供你的HTML代码吗?这可能是个问题,也可能不是问题——你在淡出结束时缺少了一个分号——缺少分号再加上使用{在新行上可能会导致难以找到JavaScript的错误。您应该添加;然后再试一次-这次可能有用。添加分号没有帮助此div位于itemtemplate标记内
$(".list_rowtext").hover(
function () {
if (hide) clearTimeout(hide);
$(this).children("img").fadeIn();
},
function () {
var obj=this; //closure
hide = setTimeout(function ()
{ $(obj).children("img").fadeOut("slow"); }, 250);
}
);