javascript
  • jquery
  • html
  • 2016-04-04 11 views 0 likes 
    0

    要素を上、左、右または下の辺から移動するのに完全に機能するコードがありますが、表示プロパティでは機能しません。コード:ボタンをクリックすると、別のdivの表示を切り替えることができます

    $('#icon-for-search').click(function() { 
        var targetValue; 
    
        if ($('#search-wrapper').css('top') == "0px") { 
         targetValue = '55px'; 
        } else { 
         targetValue = '0px'; 
        } 
    
        $("#search-wrapper").animate({ 
         top: targetValue 
         }, 500); 
        }); 
    

    私は、「アイコンのための検索」と呼ばれるIDを持つボタンがあり、それがクリックされたなら、それは完全に#検索 - ラッパーのトップ値を切り替えますが、私は、ディスプレイに変更した場合:ブロック/それは動作しません。何か特別な理由?誰かが私を説明できますか?

    $('#icon-for-search').click(function() { 
        var targetValue; 
    
        if ($('#search-wrapper').css('display') == "none") { 
         targetValue = 'block'; 
        } else { 
         targetValue = 'none'; 
        } 
    
        $("#search-wrapper").animate({ 
         display: targetValue 
         }, 500); 
        }); 
    
    +4

    あなたはこれを回避するための良い方法は、不透明度をアニメーション化して、アニメーションの完了すると表示プロパティを設定している、 'display'をアニメーション化することはできません。 – DBS

    +0

    表示プロパティはアニメートできません。基本的にブロックとなしの間に2つの状態があります。 – Daniel

    +0

    「なし」と「ブロック」の間をどのようにアニメーション化すると思いますか? – alex

    答えて

    1

    jQuery.animateは数字のCSSプロパティでのみ機能します。あなただけの要素を切り替えることができます。

    $('#icon-for-search').click(function() { 
     
        $('#search-wrapper').fadeToggle('slow'); 
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
    <div id="icon-for-search">Search Icon</div> 
     
    <div id="search-wrapper">Search Wrapper</div>

    +0

    すごい@kostya Shkryob!できます!素晴らしい! :D – Eugenio

    関連する問題