Javascript jQuery悬停函数会导致闪烁
当鼠标悬停在表的第一行上时,我试图显示一个div。这会导致闪烁。我怎样才能修好它Javascript jQuery悬停函数会导致闪烁,javascript,jquery,Javascript,Jquery,当鼠标悬停在表的第一行上时,我试图显示一个div。这会导致闪烁。我怎样才能修好它 <%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="hovermouse._Default" %> <asp:Content ID="HeaderContent" r
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="hovermouse._Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(
function () {
$("table tr:first").hover(function () {
$("#mydiv").show()
},
function () {
$("#mydiv").hide();
}
);
}
);
</script>
<div id="mydiv">
you can see me</div>
<table border="true">
<tr>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
</tr>
<tr>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
</tr>
<tr>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
<td>
hi
</td>
</tr>
</table>
</asp:Content>
$(文件)。准备好了吗(
函数(){
$(“表tr:first”).hover(函数(){
$(“#mydiv”).show()
},
函数(){
$(“#mydiv”).hide();
}
);
}
);
你可以看见我
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
你好
哪个浏览器?它将在逻辑上闪烁,因为当您显示新的
时,它将替换被悬停的
,而
将不再悬停,从而产生无限循环。很多浏览器都不这样做,它们只在鼠标移动时应用悬停效果,但鼠标仍然可以移动一小部分并引起闪烁
这里最好的办法就是不要那样做。问自己几个问题:
上移开时,
是否应该被隐藏
应该实际替换
,还是应用了样式表来覆盖它?如果你没有,这就是你想要做的,那么就这么做如果您可以提供更完整的示例(例如,适用的样式和其他脚本),请提供。在实现悬停行为时,您不希望悬停目标因该行为而移动。在悬停操作期间,悬停目标在页面上的位置应该是固定的。在您的特定情况下,您可以将DIV放在表下方。。。另一种解决方案是不通过
hide()
隐藏DIV,而是将其可见性
属性设置为隐藏
,这将隐藏DIV,但它仍将占用与以前相同的(垂直)空间。