我正在爲我正在構建的網頁開發一個簡單的打開/關閉動畫DIV。它應該是簡單的,但有些東西給我一個掛斷。我的繼承人JS代碼:Javascript動畫打開/關閉菜單
<script>
slideOpen = 1;
alert(slideOpen);
function openClose(){
if (slideOpen = 1){
closeTab();
slideOpen = 0;
};
if (slideOpen = 0){
openTab();
slideOpen = 1;
};
function closeTab(){
$("#upcomingEvents").animate({top:"-910px"});
}
function openTab(){
$("#upcomingEvents").animate({top:"-300px"});
}
alert(slideOpen);
}
</script>
而這裏的運行功能的HTML:
<a href="javascript:openClose();" style="position: absolute; bottom: 32px; right: 32px;" >Open/Close Tab</a>
那麼,這背後的想法是,只要用戶點擊錨,它運行openClose()函數。在初始頁面加載時,slideOpen = 1,如果用戶點擊錨點,如果slideOpen = 1,則運行closeTab()動畫函數,然後設置slideOpen = 0。如果slideOpen = 0,則應運行openTab()動畫函數,設置slideOpen = 1。
基本上: 如果tab打開slideOpen = 1;如果選項卡關閉,則爲 slideOpen = 0;
但是,我也在這個函數中設置了兩個警報;一個是頁面加載時的初始值,另一個是每次調用openClose()函數時都會運行的值。
在初始頁面加載時,slideOpen警報顯示爲「1」。單擊錨點關閉選項卡後,openClose()函數中的slideOpen警報顯示「0」,並且選項卡成功關閉。再次單擊錨點時,警報再次顯示「0」,並且該選項卡不會重新打開。它應該顯示slideOpen =「1」,但由於某種原因,它不是。這就是我的問題。
在此先感謝。
喂 - 你試過https://api.jquery.com/slideToggle/?它會自動跟蹤你的可見狀態,所以你不必這樣做。 –
我可以稍後補充說明,謝謝你給我看。但是,這個問題總的來說就是我自己的切換不起作用。 – wUmpage