在$ .slideDown()之后消失<textarea>

Ala*_*tts 8 jquery internet-explorer

我在IE7及以下版本中有一个问题,我正在切换via $.slideUp()&的显示$.slideDown(),有一个消失的textarea.

这是表单代码:

<% using (Html.BeginForm("AddComment", "Comment", FormMethod.Post, new { id = "addCommentForm", @class = "comments-form" }))
 { %>
    <input type="hidden" name="SiteID" value="<%: Model.Name %>" />
    <table>
        <colgroup>
            <col class="comments-form-text" />
            <col class="comments-form-submit" />
        </colgroup>
        <tbody>
            <tr>
                <td>
                    <textarea name="Text" rows="2" cols="75"></textarea>
                </td>
                <td>
                    <div>
                        <input type="submit" value="Add Comment" />
                    </div>
                </td>
            </tr>
        </tbody>
    </table>
    <% } %>
Run Code Online (Sandbox Code Playgroud)

我正在javascript(使用jQuery)按钮点击显示切换: $('#addCommentForm').slideDown();

我的问题是在IE7及以下版本中,当表单完成向下滑动时,文本区域会消失.它只会在我大多数提交按钮(使用jQueryUI .button()方法设置样式)时重新出现.

当我说消失时,它消失了.看看IE开发工具中的html,它的html仍然存在,它根本就没有被渲染.

尽管我绝对讨厌IE,但我需要支持它:(

任何人都有任何想法为什么会这样?或者我如何减轻它?

Júl*_*llo 22

有一些方法可以解决这个问题:

  • 尝试使用另一个元素,例如使用 slideDown span而不是div元素.可能是IE的渲染错误;
  • 另一种方法是将zoom:1; CSS 设置为您尝试slideDown的元素;
  • 您也可以min-height在CSS中将此设置解决 为滑动元素;