如果我理解正確的話,我認爲你這樣的事情之後是:
$('a.link').on('click', function(e) {
e.preventDefault();
var slideSelector = '#' + $(this).attr('id').replace('link', 'slide');
// slide down the div which corresponds to the clicked anchor,
$(slideSelector).slideDown(500, function() {
// slide the rest up
$('div.slide').not($(slideSelector)).slideUp(500);
});
// or do it in the reverse order
$('div.slide').not($(slideSelector)).slideUp(500, function() {
$(slideSelector).slideDown(500);
});
});
下面是我用上面的例子中的標記: -
<a id="link1" class="link" href="#">Link 1</a>
<a id="link2" class="link" href="#">Link 2</a>
<a id="link3" class="link" href="#">Link 3</a>
<div class="slide" id="slide1">Slide Example #1</div>
<div class="slide" id="slide2">Slide Example #2</div>
<div class="slide" id="slide3">Slide Example #3</div>
注意,<a>
的和<div>
已經全部給出了id
的,這些都是用來把兩者聯繫在一起的(看看slideSelector
)。
Here's a fiddle which will toggle between each of the above examples each time a link is clicked
這是做的只是一種方式,另一種方式,例如將包裹在單獨的容器中的鏈接和div的,然後才能使用index()
來選擇對應於點擊的div鏈接,但鏈接和div必須以相同的順序出現才能工作。
嗨deifwud,非常感謝你的回答!這幾乎是完美的:P只是一件事:可以按照這個順序打開/關閉div嗎?單擊 - >顯示div完全關閉(滑動) - >新的div打開(滑動)。很想聽到你的聲音! – rekeszus