要做的第一件事是将面板HTML元素移近maingrid元素。这允许您按顺序隐藏/显示正确的元素。将所有的面板放在它们自己的单独元素中会导致您执行DOM操作,因此不应该这样做。为了简单起见,我将每个面板放在与它关联的maingrid元素之后。
HTML结构
<div class=".mainContainer">
<div class='maingrid'></div>
<div class='panel'></div>
<div class='maingrid'></div>
<div class='panel'></div>
<div class='maingrid'></div>
<div class='panel'></div>
<div class='maingrid'></div>
<div class='panel'></div>
</div>
我加入了面板类具有相同的CSS的maingrid,以及使它在开始无形:
.maingrid, .panel {
height: 345px;
width: 345px;
float: left;
/* [disabled]background-color: #000; */
margin-top: 5px;
margin-right: 5px;
cursor: pointer;
overflow: hidden;
}
.panel{
display:none;
color:white;
}
这将淡出当前元素点击并淡入下一个面板元素。
$('.maingrid').click(function(){
var $that = $(this);
$(this).fadeOut(function(){ //This will wait until the fadeOut is done before attempting to fadeIn.
$that.next().fadeIn();
});
});
$('.panel').click(function(){
var $that = $(this);
$(this).fadeOut(function(){
$that.prev().fadeIn();
});
});
似乎还有一个错误,悬停不显示第一个悬停事件的文本。
的jsfiddle:http://jsfiddle.net/mDJfE/
究竟你。“我不能用两个类,不能再使用的ID”的意思??? –
你能告诉我们相关的标记吗?每个面板都有一个ID吗? –
我们希望看到一些额外的“美丽”标记来补充此代码,我们可以更好地帮助您解决此问题。 – xCNPx