2012-03-15 4 views
0

で一つだけ私はこのjQueryのコードを持っているを使用していますか? .cssを.animateの中で使用できますか?は.animateとの.cssやjQueryの

+2

[ 'toggleClass'](HTTP ://api.jquery.com/toggleClass/)が良いでしょう。 –

+0

@RobWどのように?ありがとう – benhowdle89

+0

ドキュメントを見てください。アニメーション版では、[jQuery UI 'toggleClass'](http://jqueryui.com/docs/toggleClass/)を使用してください。 –

答えて

3

まず、addinga/jQueryの中で直接CSSプロパティを修正することは悪い習慣と考えられています。あなたがする必要があるすべてはあなたのCSSで要素上の位置を設定されている:あなたはその後、大幅に削減するためにあなたのjQueryのコードをリファクタリングし、また必要に応じて、あなたの要素をアニメーション化することができます

CSS

#help { 
    position: absolute; 
} 

var help; 

$('.helpPin').click(function(){ 
    var bottom = help ? '0' : '-206px'; 
    $("#help").animate({ 'bottom' : bottom }); 
    help = !help; 
}); 
あなたはその間に、CSSを使って位置を設定する必要があり
+3

短く、インテリジェントで効率的です。 *帽子の先端* – benhowdle89

+0

help =!help;あなたはこれを少し伸ばせますか?それは現在の値の反対に変数を設定しますか? – benhowdle89

+0

@ benhowdle89正しいです - ブール値を反転します。 –

0

より効率的な方法でコードを作成してください。

var help; 
    $('.helpPin').click(function(){ 

     if(help == true){    
      $('#help').css({ 
       'position' : 'absolute', 
       'bottom' : '0' 
      }).animate(); 
      help = false; 
     } else { 
      $('#help').css({ 
       'position' : 'absolute', 
       'bottom' : '-206px' 
      }).animate(); 
      help = true; 
     } 
    }); 

希望、あなたは同じものを探しています。

+0

'.animate()'は構文が異なります。http://api.jquery.com/animate/ – m90

+0

私はあなたに起動方法についての論理を与えました。どのようなアニメーションをしたいですか?あなたは私に正確なコードを与えることを望みますか?あなたのコードはjsfiddleにありますか? –

2

すべてのworking demo

#help 
{ 
    position: absolute; 
} 

$('.helpPin').click(function(){ 
     if(help == true){ 
      $('#help').animate({"bottom": '0'}); 
      help = false; 
     } else { 
      $('#help').animate({"bottom": '-206px'}); 
      help = true; 
     } 
    }); 
0

......

var help; 
$('.helpPin').click(function() { 

    var bottom = (help) ? '0' : '-206px'; 

    $('#help') 
      .css({ 'position': 'absolute' }); 
      .animate({ 'bottom': bottom }); 

    help = !help; 
});