Jquery 在div中显示隐藏图像

Jquery 在div中显示隐藏图像,jquery,Jquery,.list_rowtext是一个div标记。实际上,我想要的是,当我将鼠标悬停在div上时,图像会显示,当鼠标焦点移除时,图像会消失,而这个div标记位于listview itemtemplate中,意味着它会重复。 当我将鼠标悬停在div上时,它会显示图像,但当鼠标焦点从该div上移除时,图像不会消失。setTimeout函数始终在全局范围内执行,因此在执行该函数时,这是一个窗口。 使用闭包指向所需的目标: var hide = false; $(".list_rowtext"

.list_rowtext是一个div标记。实际上,我想要的是,当我将鼠标悬停在div上时,图像会显示,当鼠标焦点移除时,图像会消失,而这个div标记位于listview itemtemplate中,意味着它会重复。
当我将鼠标悬停在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);
      }
    );