2012-02-11 6 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; 
    } 
}); 

私はオープンクローズポップアップ効果を作成しようとしています。リンクをクリックするとポップアップがフェードインし、リンクを再度クリックするとポップアップがフェードアウトします。

* UPDATED。私はそれを動作させる方法を考え出した。ページのロード時に

var onOff=false; 

ないのonclickが実行されたときに、それ以外の場合は、常にそれをリセットし.......そしてもちろん、比較のために==を使用して:)

+0

(onOff = false)if(onOff == false)の場合は1つのエラーが発生する。その比較演算子 –

+0

あなたの問題を解決した場合は、以下の回答として投稿し、あなた自身の答えを受け入れてください。 – Sparky

答えて

2

あなたの条件:私は宣言を配置する必要があります間違っていますif (onOff=false)。それは、if (onOff==false)

となるはずです。これはうまくいきます。

+0

はい、これは大きな問題の1つでした。ありがとう。 –

+0

@Splatty、素晴らしいこの回答があなたの問題を解決した場合は、それをあなたの答えとして受け入れてください。 [よくある質問](http://stackoverflow.com/faq#howtoask) –

0

すでに言及した他のユーザーと同じように、(onOff == false) の条件を修正して、クリック時のデフォルトのイベントハンドラが実行されないようにする必要があります。コードを

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

に変更してください。ページの不要なスクロールを防ぐことができます。

+0

チップをありがとう –

関連する問題