首先让我说我意识到从可访问性的角度来看这不是最好的主意,但功能不是我来决定的:)
我希望一次有一个可见的“内容框”(总共三个) - 当前显示哪个框将取决于悬停在哪个相应链接上(并且框一将显示在页面加载之前任何悬停动作)。
如果我们想象我有以下 HTML:
<ul>
<li id="link-one">Link One</li>
<li id="link-two">Link Two</li>
<li id="link-three">Link Three</li>
</ul>
<div id="box-one">Content for box one.</div>
<div id="box-two">Content for box two.</div>
<div id="box-three">Content for box three.</div>
我希望 #box-one 默认显示。然后,如果将 #link-2 或 #link-three 悬停在上方,则 #box-2 或 #box-3 将相应显示。
如果在传输过程中有一个淡入淡出的动画,那就太好了。
这是我正在处理的思路——我意识到这不是有效的 jQuery 语法,但如果有人能帮我把它变成真实的东西,我将不胜感激!
if ($(#link-one).mouseenter(function() {
$(#box-one).show();
$(#box-two).hide();
$(#box-three).hide();
});)
if ($(#link-two).mouseenter(function() {
$(#box-two).show();
$(#box-one).hide();
$(#box-three).hide();
});)
if ($(#link-three).mouseenter(function() {
$(#box-three).show();
$(#box-one).hide();
$(#box-two).hide();
});)
自我批评:添加新的链接/框组合后,我的代码无法很好地扩展。这似乎非常低效,但我不确定如何实现这一目标。当要显示新框时,可能有更好的方法来实现淡入/淡出传输。任何想法都非常感谢。
谢谢!