Должен ли я конвертировать мои jquery-скрипты в объекты или пусть это будет? - PullRequest
0 голосов
/ 17 декабря 2010

Я недавно воспроизводил новый твиттер-интерфейс (скользящие панели) и создал для него довольно похожую (если не чуть лучше) функциональность.У меня не было с этим проблем в последнее время, пока не возникло несколько ошибок, когда я попытался провести рефакторинг.Тем не менее, я нахожусь на распутье, чтобы решить, если я должен рефакторинг своего кода и использовать ООП.

Для небольшого понимания того, что я сделал, у меня есть список предметов, которые имеют расширяемый класс.Внутри них у меня есть div с именем «.inner», в который я помещаю данные для правой стороны.Затем у меня есть функция щелчка $ ('. Expandable'), которая анимирует правую панель и клонирует все содержимое .inner div и помещает его в правую панель.

Когда страница загружается, я создаюряд правых боковых панелей с классом ".pane", который скрыт под левой боковой панелью.Я мог продолжать реализацию по мере необходимости, но я думал о том, чтобы преобразовать каждую из этих огромных функций щелчка и т. Д. И просто создать, скажем, объект Pane, который имеет все методы для анимации, скрытия, самого себя и т. Д.Проблема в том, что я не уверен, что это хорошая идея, особенно если много панелей.Превратят ли мои панели в объекты увеличение или уменьшение времени загрузки / функциональности?Является ли событие click привязанным к классу ($ ('. Expandable'). Click ()) быстрее, чем, если бы расширяемый был методом объекта Pane?А что, если бы было 30 панелей / расширяемых вещей?

Ответы [ 2 ]

0 голосов
/ 17 декабря 2010

В зависимости от того, что вы хотите сделать, вы можете либо просто использовать механизм выбора и объекты, либо я выражаю мои плагины JQuery как объекты с состоянием, но видимые «внешнему» миру как обычные плагины.

Я также добавил в объекты такие служебные функции, как кэширование клиента, парсеры и т. Д., Поскольку речь идет не о взаимодействии с браузером, а о многократном использовании внутреннего API.

Но это действительно сводится к тому, как вы хотите кодировать. Библиотека плагинов и API JQuery довольно богаты, но если вы обнаружите, что вам нужно немного больше, тогда объекты - путь.

0 голосов
/ 17 декабря 2010

Я не уверен насчет этого, но когда я делал скрипт в javascript, я всегда использовал jQuery, потому что именно он организует память и объекты.Я также должен сказать, что в большинстве моих случаев (когда я использую jQuery для загрузки более 1000 точек на карте), Firefox имел хороший отклик.Проблема была в Internet Explorer.

Я рекомендую вам все, что вы можете, использовать ООП в JavaScript.Если это возможно, с jQuery (есть большое сообщество, чтобы помочь).Кроме того, вы должны увидеть взломы IE для улучшения jQuery в этом «навигаторе».

Вы также можете проверить эту веб-страницу: http://plugins.jquery.com/.Там вы можете найти множество плагинов для выполнения наиболее важных и распространенных функций с jQuery.

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