Изменение размера столбцов при использовании переключателя JQuery UI в IE - PullRequest
0 голосов
/ 24 мая 2009

Пример кода:

<html>
  <head>
    <script src="jquery-1.3.2.min.js" type="text/javascript"></script>
    <script src="jquery-ui-1.7.1.custom.min.js" type="text/javascript"></script>
  </head>
  <body>

    <table border="1" style="width:100%">
        <tr>
            <th>1</th>
            <th>2</th>
            <th>3</th>
            <th>4</th>
        </tr>
        <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
            <td>d</td>
        </tr>
        <tr>
            <td colspan="4" >
                <div id="target">TOGGLE TEXT!!</div>
            </td>
        </tr>
    </table>

    <input type="button" value="show/hide" onclick="toggleHidden();" />

    <script type="text/javascript">

        function toggleHidden() { 

            $('#target').toggle("blind", {}, 200, null);
        }

    </script>

  </body>
</html>

Этот код скрывает и показывает div в виде тд, используя функцию переключения JQuery UI (тот же результат, что и у функций show и hide).

В FireFox это прекрасно работает, но в IE все столбцы изменят размер во время «эффекта переключения». Кто-нибудь знает, почему IE ведет себя так? И могу ли я что-нибудь сделать в этом коде, чтобы предотвратить это?

Ответы [ 2 ]

4 голосов
/ 24 мая 2009

Использование slideToggle вместо переключения или скрытия / показа фактически решило проблему!

1 голос
/ 24 мая 2009

Я столкнулся с подобной проблемой. Попробуйте две вещи:

1) Приведите таблице абсолютную ширину в пикселях, например, 500px

2) Попробуйте поместить неразрывный пробел &nbsp; в TD, содержащий ваш целевой div, после div, чтобы браузер не свернул ячейку, когда в ней нет содержимого:

<div id="target">TOGGLE TEXT!!</div>&nbsp;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...