Рискуя не дает вам большие надежды ....
Можно сказать, что любой оператор Javascript «держит» все другие заявления, что приходит (в хронологическом порядке), после него в том же потоке событий, и потенциально (поскольку javascript является однопоточным) будущие потоки полностью.
С учетом этого, я думаю, здесь дело не столько в том, что .buttonset()
держит все остальное, но что оно медленное (когда применяется к 100 контейнерам) и что его присущая медлительность непреодолима, если вы не можете найти/напишите альтернативный плагин, который работает быстрее.
Ваша самая реалистичная надежда на лучшую кажущуюся производительность - изменить порядок выполнения так, чтобы ваш оператор $('.checkboxViewset').buttonset();
выполнялся после кода, который он в настоящее время удерживает.
Попробуйте следующее:
- Переместить заявление в нижней части обработчика событий, в котором он сидит.
- Поместите заявление в свой собственный обработчик $ (function() {...}).
- С остальной частью вашего jQuery в обработчике $ (function() {...}) поместите инструкцию в свой собственный обработчик
window.onload = function(){...}
. Штраф здесь заключается в том, что пользователи, скорее всего, получат Flash из нестерпимого контента (FOUC) до применения стиля buttonset()
.
Edit:
На другой поезд мысли целиком, вы могли бы попробовать служить ценность одной Div по кнопкам, укладка его с .buttonset()
затем клонировать его в 99 раз, чтобы сделать 100. Жизнеспособность этого подхода конечно, зависит от того, что ваши divs структурно идентичны и не требуют собственных уникальных идентификаторов/значений/данных.
Можем ли мы иметь представление о том, что делает buttonet()? – Angel
@Angel: buttonset() является частью структуры пользовательского интерфейса JQuery. Пожалуйста, обратитесь к http://jqueryui.com/demos/button/#radio – ivarrian