Javascript 不工作时在鼠标上显示/隐藏div

Javascript 不工作时在鼠标上显示/隐藏div,javascript,jquery,html,css,delegates,Javascript,Jquery,Html,Css,Delegates,我有下面的代码,我想当用户将鼠标移到div上时,它会显示,当鼠标移出div时,它会隐藏。每件事看起来都很好,但它不起作用。谁能帮我指出错误吗 <script type="text/javascript"> $(document).ready(function () { $(document).delegate('#myDiv', 'mouseover', function () { mouse_OverDiv(); }); $(docu

我有下面的代码,我想当用户将鼠标移到div上时,它会显示,当鼠标移出div时,它会隐藏。每件事看起来都很好,但它不起作用。谁能帮我指出错误吗

 <script type="text/javascript">

    $(document).ready(function () {


        $(document).delegate('#myDiv', 'mouseover', function () { mouse_OverDiv(); });
        $(document).delegate('#myDiv', 'mouseout', function () { mouse_OutDiv(); });
        function mouse_OverDiv() {

            $('#myDiv').css({ "visibility": "visible" });

        }
        function mouse_OutDiv() {

            $('#myDiv').css({ "visibility": "hidden" });

        }
    });

</script> 
<body>
<form id="form1" runat="server">
<div id="myDiv" style="visibility:hidden">
this is my  div</div>

</form>
</body>

$(文档).ready(函数(){
$(document).delegate('myDiv','mouseover',function(){mouse\u OverDiv();});
$(document).delegate('#myDiv',mouseout',function(){mouse#u OutDiv();});
函数鼠标_OverDiv(){
$('#myDiv').css({“可见性”:“可见”});
}
函数鼠标_OutDiv(){
$('#myDiv').css({“可见性”:“隐藏”});
}
});
这是我的部门
你(曾经)失踪了

顺便说一句,您可以使用
:hover
选择器使用css来实现这一点。另外,
delegate()
已替换为
on()
。最后,您不需要创建匿名函数来调用另一个函数,只需执行以下操作:

    $(document).delegate('#myDiv', 'mouseover', mouse_OverDiv);

   // Notice there's no `()` invoking the function 
   // since you're using it as a reference.
编辑

试试这个:

var $div = $('#myDiv'),
    hoverIn = function(){
        $div.css('visibility', 'visible');
    },
    hoverOut = function(){
        $div.css('visibility', 'hidden');
    };

$('#myDiv').hover(hoverIn, hoverOut);
你(曾经)失踪了
#

顺便说一句,您可以使用
:hover
选择器使用css来实现这一点。另外,
delegate()
已替换为
on()
。最后,您不需要创建匿名函数来调用另一个函数,只需执行以下操作:

    $(document).delegate('#myDiv', 'mouseover', mouse_OverDiv);

   // Notice there's no `()` invoking the function 
   // since you're using it as a reference.
编辑

试试这个:

var $div = $('#myDiv'),
    hoverIn = function(){
        $div.css('visibility', 'visible');
    },
    hoverOut = function(){
        $div.css('visibility', 'hidden');
    };

$('#myDiv').hover(hoverIn, hoverOut);
$('myDiv').css({“可见性”:“可见”})

应该是

 $('#myDiv').css({ "visibility": "visible" });
$('myDiv').css({“可见性”:“可见”})

应该是

 $('#myDiv').css({ "visibility": "visible" });

不可见元素不能触发鼠标悬停事件,因为它们没有宽度和高度,因此在文档中没有可悬停的位置


也许css不透明度可以帮助你?另请参见。

不可见元素不能触发鼠标悬停事件,因为它们没有宽度和高度,因此在文档中没有可悬停的位置


也许css不透明度可以帮助你?另请参见。

问题是,当您隐藏div时,无法再次将鼠标悬停在其上。 检查一下这个样品

$(document).delegate('#myDiv', 'mouseover', function() {
    mouse_OverDiv();
});
$(document).delegate('#myDiv', 'mouseout', function() {
    mouse_OutDiv();
});

function mouse_OverDiv() {
    $('#myDiv').css({"color": "red"});
}

function mouse_OutDiv() {
    $('#myDiv').css({"color": "blue"});
}

问题是,当您隐藏div时,您不能再将鼠标移到它上面。 检查一下这个样品

$(document).delegate('#myDiv', 'mouseover', function() {
    mouse_OverDiv();
});
$(document).delegate('#myDiv', 'mouseout', function() {
    mouse_OutDiv();
});

function mouse_OverDiv() {
    $('#myDiv').css({"color": "red"});
}

function mouse_OutDiv() {
    $('#myDiv').css({"color": "blue"});
}

嗯,我不知道,看起来应该有用。尝试使用
on()
hover()
。顺便说一句,用建议的答案更新你的问题不是一个好主意,它违背了获得答案的目的,并且使人们以后很难找到问题。请参阅编辑,我添加了如何使用
hover()
来完成此操作。很简单。嗯,不知道,看起来应该行得通。尝试使用
on()
hover()
。顺便说一句,用建议的答案更新你的问题不是一个好主意,它违背了获得答案的目的,并且使人们以后很难找到问题。请参阅编辑,我添加了如何使用
hover()
来完成此操作。非常简单。@Ghokun:当然,hover方法是这些方法的快捷方式,问题只是css可见性。@Ghokun:当然,hover方法是这些方法的快捷方式,问题只是css可见性。