我创建了以下 HTML。黄色框包含图像缩略图。当我将鼠标悬停在缩略图上时,它会在缩略图顶部显示一个视图链接。
但是如果我快速移动鼠标,我会让链接 div 闪烁。
这是代码 - 您可以将其复制并粘贴为 html 并进行测试。
<html>
<head>
<title>Image Gallery</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$('.divImage').mouseenter(function () {
var vl = $('#viewlink');
var vlpos = $(this).position();
vl.css({ 'top': (vlpos.top + ($(this).height() - vl.height())), 'left': vlpos.left, position: 'absolute' });
vl.fadeTo('1', 0.5);
vl.css('display', 'block');
});
$('.divImage').mouseleave(function (event) {
if (event.toElement.id != 'viewlink') {
var vl = $('#viewlink');
vl.fadeTo('1', 0.0, function () {
vl.css('display', 'block');
});
}
});
$('#viewlink').mouseleave(function (event) {
$(this).fadeTo('1', 0.0, function () {
$(this).css('display', 'block');
});
});
});
</script>
<style type="text/css">
.divImage
{
background-color: Yellow;
}
</style>
</head>
<body>
<div id="viewlink" style="width: 100px; height: 30px; display: none; background-color: gray;
text-align: center; line-height: 30px; vertical-align: middle; z-index: 1000;">
<a href="Javscript:;" style="text-decoration: underline">View</a></div>
<div style="width: 398px; height: 518px; border: 1px solid #DADADA; float: left;
overflow-y: auto; overflow-x: hidden">
<div style="width: 378px; height: 278px; margin: 10px; background-color: #FFFFFF">
<table style="margin: 0px; padding: 0px; width: 100%;" cellpadding="0" cellspacing="0">
<tr>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
</tr>
<tr>
<td colspan="3" style="height: 20px;">
</td>
</tr>
<tr>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
</tr>
<tr>
<td colspan="3" style="height: 20px;">
</td>
</tr>
<tr>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
</tr>
<tr>
<td colspan="3" style="height: 20px;">
</td>
</tr>
<tr>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
</tr>
<tr>
<td colspan="3" style="height: 20px;">
</td>
</tr>
<tr>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
<td align="center">
<div class="divImage" style="width: 100px; height: 80px; border: 1px solid #DADADA">
</div>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>
在 FF 4.0 中也没有调用 mouseleave。有任何想法吗?