2011-08-05 42 views
0

テーブル内のテキストボックスとラベルをスライドさせようとしています。 、スライドのトグルはうまくいきますが、チェックボックスをクリックすると効果がスムーズに動かないテキストボックスとラベルが奇妙な方法で見えるようになり、右からトグルしてフィールド間にギャップが残ると、ギャップは毎回増えますチェックボックスをクリックします。以下のコードは次のとおりです。jqueryを使用して奇妙な結果を表示/非表示する

<script type="text/javascript"> 

$(document).ready(function() { 
    var $startdates = $('#startDates'); 
    var $endDates = $('#endDates'); 
    $startdates.hide(); 
    $endDates.hide(); 

    $('#all').click(function() { 
     $startdates.slideToggle('slow'); 
     $endDates.slideToggle('slow'); 
     return false; 

    }); 
}); 
</script> 


<tr id="startDates"> 
     <td> 
     <div class="editor-label"> 
      <%: Html.LabelFor(model => model.StartDate) %> 
     </div> 
     </td> 
     <td> 
     <div class="editor-field"> 
      <%: Html.TextBoxFor(model => model.StartDate) %> 
      <%: Html.ValidationMessageFor(model => model.StartDate) %> 
     </div> 
     </td> 
     </tr> 

     <tr id="endDates"> 
     <td> 
     <div class="editor-label"> 
      <%: Html.LabelFor(model => model.EndDate) %> 
     </div> 
     </td> 
     <td> 
     <div class="editor-field"> 
      <%: Html.TextBoxFor(model => model.EndDate) %> 
      <%: Html.ValidationMessageFor(model => model.EndDate) %> 
     </div> 
     </td> 
     </tr><tr></td> 
     <td><input type="checkbox" name="All" id="all" /><label>All</label></td> 
     </tr> 
+0

**「奇妙な影響」**とは何ですか? – Chandresh

+0

あなたはこれをチェックしました..?もしないなら、pls [ここをクリック](http://chandreshmaheshwari.wordpress.com/2011/05/24/show-hide-div-content-using-jquery/)..Thanx – Chandresh

+0

weired:予期しない –

答えて

1

切り替えエフェクトを使用する場合trtd要素はexpecially、推奨されません(がTR上の効果を使用しないでください!)

あなたの要素を表示するために、これを試してみてください:

.show()によって.slideToggle()を交換してください、または動作しない場合は、.css('display', 'table-row')

+0

私が探していたトグル効果のために –

+0

私の個人的なアドバイスは、これらの「疲れた」しかし再発する問題を避けるために、divを使用することです(例:[display:table](http://www.digital-web.com/articles/everything_you_know_about_CSS_Is_wrong/))。 。しかし、誰かがコードを変更せずに問題を解決する解決策を見つけるかもしれません。 –

1

は、CSSやJavaScriptを使用して、高さ.editor-label.editor-fieldを与えます。

高さが設定されていない場合、jQueryは高さが拡大/アニメーション化されていると推測する必要があるため、アニメーション機能は正しく動作しません。

関連する問題