这是要了我的命。我花了两天的大部分时间来尝试完成这项工作。
最终,我想要实现的是拥有 3 个项目的列表,“Light”、“Regular”和“Deep”触发与列表中每个项目匹配的特定 div 的淡入。我正在使用 z-index 将 div 分层到背景 div 之上。
因此,当我单击“Light”时,图像会在背景 div 上方淡入,如果在单击时可以看到“Regular”或“Deep”,它们会淡出(无论如何,一次只能看到 1 个) .
基本上,jQuery 是这样设置的:
$('#main_right_line_one').click(function(){
$('#main_regular_layover, #main_deep_layover').fadeOut('slow', function(){
$('#main_light_layover').fadeIn('slow');
});
});
$('#main_right_line_two').click(function(){
$('#main_light_layover, #main_deep_layover').fadeOut('slow', function(){
$('#main_regular_layover').fadeIn('slow');
});
});
$('#main_right_line_three').click(function(){
$('#main_light_layover, #main_regular_layover').fadeOut('slow', function(){
$('#main_deep_layover').fadeIn('slow');
});
});
我的 html 设置如下:
<div id="main_container">
<div id="main_top_left">
</div>
<div id="main_top_right">
<a id="main_right_line_one" href="#">Light</a><br />
<a id="main_right_line_two" href="#">Regular</a><br />
<a id="main_right_line_three" href="#">Deep</a>
</div>
<div id="main_bottom">
</div>
<div id="main_light_layover">
<img class="light_layover" src="/images/light_layover.png" />
</div>
还有我的 CSS:
#main_light_layover
{
display:none;
position:absolute;
width:900px;
margin:0 auto;
padding:0px;
border:0px;
top:0px;
left:0px;
z-index:8;
overflow:visible;
}
.light_layover
{
position:relative;
top:10px;
left:-60px;
z-index:8;
}
我的 jQuery 不是那么好,但这根本行不通。我想知道它是否有问题,因为点击的目标在第二个 div 内?
我开始更多地使用它,看看我是否可以得到更简单的工作,比如正常加载图像并使用 jQuery 在点击时将其淡出,但我什至无法让它在我的特定页面上工作,但是我可以在 jsFiddle 上获得准系统版本:
http://jsfiddle.net/UpX3L/197/
似乎我根本无法在我的特定页面上获得褪色目标。谁能提供一些见解?
编辑 - 这是一个 jsFiddle 以我希望页面工作的方式工作: