2012-02-11 69 views
1

HTMLJavaScript彈出和關閉

<ul> 
    <li class="first"><a href="#">Intro</a></li> 
    <li><a href="#">Crew</a></li> 
</ul> 

CSS

.page-popup { 
    z-index:500; 
    position:absolute; 
    left:345px; 
    background:#fff; 
    width:680px; 
    height:325px; 
    top:175px; 
    display:none; 
} 

的JavaScript:

$('.first').click(function() { 
    var onOff=false; 

    if (onOff=false) { 
     $('.page-popup').fadeIn('slow', function() { 
      // Animation complete 
     }); 
     onOff = true; 
    } else { 
     $('.page-popup').fadeOut('slow', function() { 

     }); 
     onOff = false; 
    } 
}); 

我試圖創造一個開放的關閉彈出窗口的作用。當他們點擊鏈接時彈出窗口淡入,當我再次點擊鏈接時,彈出窗口淡出。

*已更新。我已經想出瞭如何使它工作。我必須把聲明:

var onOff=false; 

在未時的onclick否則執行它總是復位它.......並使用==進行比較:)

+0

一個錯誤if(onOff = false)應該是if(onOff == false)。它的比較運算符 – 2012-02-11 16:03:57

+0

如果你已經解決了你的問題,請把它作爲下面的答案發布,然後接受你自己的答案。 – Sparky 2012-02-12 03:42:57

回答

2

你的條件,當然頁面加載不正確if (onOff=false)。它應該是if (onOff==false)

希望這對你有用。

+0

是的,這是一個主要問題。謝謝。 – 2012-02-11 16:27:16

+0

@Splatty,太棒了。如果這個答案解決了你的問題,請接受它作爲你的答案。請閱讀[常見問題](http://stackoverflow.com/faq#howtoask) – 2012-02-12 06:40:53

0

正如其他用戶已經提到的那樣,您必須將您的條件更正爲if(onOff == false) 也是您可能希望防止執行點擊時的默認事件處理程序。將您的代碼更改爲

$('.first').click(function(event) { 
    event.preventdefault(); 
    //rest of the code 
} 

這將防止不必要的頁面滾動。

+0

感謝您的提示 – 2012-02-11 16:27:59