![](/img/trans.png)
[英]Show div on mouseover image, hide div on mouseout: nextSibling and previousSibling not working
[英]show/hide div on mouseover not working
我有以下代码,我想当用户将鼠标移到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>
您缺少#
:
||
vv
$('#myDiv').css({ "visibility": "visible" });
顺便说一句,您可以使用: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);
不可见元素无法触发鼠标悬停事件,因为它们没有宽度和高度,因此在文档中没有要悬停的位置。
也许CSS的不透明度可以帮助您? 另请参见此示例 。
$('myDiv').css({ "visibility": "visible" });
应该
$('#myDiv').css({ "visibility": "visible" });
问题是,当您隐藏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"});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.