我有一个缩略图。
将鼠标悬停在该图像上时,附近会出现一个全新的图像,正如预期的那样。
挑战
缩略图悬停结束后,新图像必须保留。仅当用户将鼠标移开新图像时,新图像才会消失。
仅 CSS 解决方案
今天对 CSS 进行了几个小时的实验后,我设计出的最佳解决方案包括:hover
伪类,transition
, and opacity
。对于 JS 中的简单任务来说,这是一个复杂而复杂的解决方案。另外,该解决方案甚至不是那么好,可能只能在较新的浏览器中工作。因此,我不再寻找纯 CSS 解决方案(尽管我对您对此的想法持开放态度)。
脚本语言
我不太了解 JS,但我编写了一些代码(可能结构很差),这让我更接近目标。我现在使用的 JS 在缩略图鼠标悬停时触发新图像,并在鼠标离开时隐藏新图像。
问题是代码不会重置(因此用户必须刷新页面才能使悬停效果再次起作用)。
这是我到目前为止所拥有的:
HTML
<ul>
<li id="thumbnail">
<a href="#">THUMBNAIL IMAGE</a>
<ul>
<li>
<a href="#">NEW IMAGE NEARBY</a>
</li>
</ul>
</li>
</ul>
CSS
ul > li > ul {display: none;}
ul > li#thumbnail > a {
background-color: #f00;
color: #fff;
padding: 5px;
}
ul > li > ul > li {
position: absolute;
top: 50px;
left: 175px;
background-color: #0f0;
color: #fff;
padding: 15px;
}
ul li ul.permahover {display: block;}
JavaScript
$("#thumbnail").one("mouseover", function() {
$("#thumbnail ul").addClass('permahover');
});
$("#thumbnail ul").mouseleave(function(){
$(this).hide();
});
http://jsfiddle.net/nyc212/Ey2bK/2/ http://jsfiddle.net/nyc212/Ey2bK/2/
任何帮助将不胜感激。谢谢。