我有一堆錨鏈接,我使用JavaScript淡入不同的div來模仿頁面。如何處理非常相似的按鈕而不使用每個函數?
<script type="text/javascript">
$(document).ready(function() {
showHomePage();
$('.homebutton').click(function() {
displayNone();
showWindow("homepage");
});
$('.aboutbutton').click(function() {
displayNone();
showWindow("aboutpage");
});
$('.gallerybutton').click(function() {
displayNone();
showWindow("gallerypage");
});
$('.musicbutton').click(function() {
displayNone();
showWindow("musicpage");
});
function displayNone() {
$('.pagecontainer>div').fadeOut(0);
}
function showHomePage() {
$('.pagecontainer').fadeIn();
$('#homepage').fadeIn();
}
function showWindow(name) {
$('#' + name).fadeIn();
}
});
<body>
....
....
<a href="#homepage" class="homebutton">Home</a>
<a href="#aboutpage" class="aboutbutton">About</a>
<a href="#gallerypage" class="gallerybutton">Gallery</a>
<a href="#musicpage" class="musicbutton">Music</a>
....
....
<div id="homepage">Home page</div>
<div id="aboutpage">About page</div>
<div id="gallerypage">Gallery page</div>
<div id="musicpage">Music page</div>
....
</body>
的所有網頁都設置爲隱藏在第一(阿爾法= 0),並且當鏈接被點擊任何頁面當前顯示設置爲隱藏的與displayNone()和相應的頁淡入。這一切都沒有問題。
但我想縮短這段代碼。正如你可以看到,如果我說50頁,JavaScript部分會變得非常混亂,因爲我必須寫50次相同的行。我所有的鏈接都有類「_button」,這對應於「_page」,所以我認爲應該有一個快捷方式,這隻需要一個功能?喜歡的東西:
- 當單擊[類名稱]中,刪除類名
- 然後追加「頁」的名稱
- 比如年底的「按鈕」部分時,「aboutbutton」被點擊時,將名稱更改爲「約」,然後添加「頁」,成爲「aboutpage」
- 然後顯示該div
但我不知道該怎麼寫。謝謝你的幫助。
你需要尋找到jQuery的字符串操作,你是金色的。你的邏輯是合理的。 – isherwood 2013-03-01 22:08:53
您是否可以更改您的ID和班級,還是已經構建的頁面? – isherwood 2013-03-01 22:10:34