Хорошо, я проверил вашу страницу через профилировщик, и на самом деле все выглядит не так плохо.Выполнение Javascript находится в пределах разумного (245 мс).Ваша проблема - перекомпоновка (занимает около 1073 мс), чтобы полностью перекомпоновать вашу страницу в рамках скользящей анимации.Смотрите скриншот.
Есть несколько вещей, которые можно сделать, чтобы улучшить это.Прежде всего, удалите поля из вашего элемента btnList_Type_Div, а также отступы.JQuery Animation Framework написан довольно плохо.Когда вы вызываете функцию слайда, она на самом деле запускает 5 разных анимаций одновременно, 2 для полей, 2 для отступа и один для ширины или высоты вашего элемента.Наличие полей на вашем элементе (даже если они не анимируются в вашем случае) не очень хорошо для анимации.Это должно значительно улучшить ваши рефлоки (в моем тесте оно уменьшилось с 1073 мс до 217 мс).
Второе, что я хотел бы предложить, - избавиться от таблицы вокруг переключателей, это абсолютно не требуется для вашей раскладки,несколько divs сделают трюк просто отлично.Если по какой-то причине у вас должна быть таблица, по крайней мере, запишите ее правильно (объявите столбцы с шириной на каждой, установите макет таблицы: фиксированный стиль на ней и т. Д.).Таблицы достаточно просторны для перекомпоновки, так как они должны каждый раз пересчитывать ширину / высоту каждой ячейки.
Последнее, что я могу предложить (если все остальное не сработает), вложите свой div в другой, а затем установитепозиция: абсолютно на нем.Это вырвет его из контекста, что означает, что больше ничего на странице не нужно переформатировать при изменении настроек вашего div.
Редактировать:
О, и еще одна вещь, хотявы устанавливаете DTD на XHTML Transitional, и Transitional более простителен, чем Strict, вы все равно должны пытаться следовать формату XHTML, например закрывать br и входные теги, правильно устанавливать регистр в именах тегов и т. д. Все это может сильно повлиять на производительность, так какхорошо.
Редактировать 2:
Поскольку вы не опубликовали весь исходный код страницы, включая все javascripts и css файлы, я не могу правильно профилировать его.Более того, мой компьютер мог бы быть более мощным, чем ваш, и, возможно, по-прежнему не мог работать в режиме анимации.Я предлагаю вам попробовать профилировать страницу самостоятельно.Для этого вам нужно будет установить DynaTrace Ajax .Запустите его, запустите профилирование для IE, откроется версия IE по умолчанию, установленная на вашем компьютере.Перейдите на свою страницу, на этом этапе я предлагаю установить отметку, чтобы ее было легче найти, затем нажмите кнопку-переключатель (и выполните любые другие действия, которые вы хотите профилировать).Закройте браузер, и в DynaTrace вы увидите новый сеанс справа, разверните его и перейдите в представление PurePaths.Найдите установленную вами отметку (по умолчанию она должна быть отметкой 1), а затем посмотрите на нее, чтобы узнать о событиях кликов и действиях по визуализации.Как только вы нашли что-то, что выглядит так, как будто это занимает больше времени, чем должно (продолжительности), вы можете щелкнуть по нему и развернуть все дочерние действия, пока не найдете причину проблемы.Теперь, настроив HTML, вы сможете профилировать его каждый раз, пока вы не приблизитесь к результату, который вы ищете.
PS Если вы установили position: absolute на вашем div, вы должны обернуть его вдругой div, с положением: относительно него, а также по высоте.Установка абсолютного позиционирования выведет ваш div из контекста, а родительский div будет иметь высоту 0px, если вы не установите его вручную.