Функции Jquery: CSS против AddClass - PullRequest
2 голосов
/ 11 марта 2012

Я поспорил с моим другом, который говорит, что для создания приложений, использующих функцию jquery .css, он более гибок, удобочитаем (поскольку атрибуты находятся в одном файле) и в целом лучше по сравнению с addClass. Для меня addClass намного лучше, так как он позволяет содержать код в чистоте и сохранять логику функций вне возможностей стиля.

Что вы думаете, и если вы согласны - как я могу убедить моего друга начать использовать addClass? Или, может быть, я не прав с самого начала?

Ответы [ 2 ]

2 голосов
/ 11 марта 2012

Во многих проектах тонкие детали внешнего вида, форматирования и визуальной кросс-браузерной совместимости сайта выполняет другой человек, а не тот, кто пишет код JavaScript. Таким образом, беспорядок в том, что CSS, который контролирует внешний вид сайта, переплетается с javascript сайта в одном и том же файле. У вас есть не-JS программисты, пытающиеся изменить javascript, чтобы изменить внешний вид сайта. Это не очень хорошая вещь.

Однако, если вы добавляете / удаляете классы через javascript, то весь фактический CSS, соответствующий этим классам, остается в файлах CSS, где с ним можно свободно работать без изменения файлов javascript. Это хорошая вещь.

Очевидно, что javascript и CSS не являются на 100% независимыми, поскольку им часто приходится выполнять согласованные действия, но если они хранятся отдельно, это позволяет отделить как минимум 90% обслуживания вместо 0%.

1 голос
/ 11 марта 2012

addClass позволяет разработчику перечислять всю информацию о своем стиле в таблице стилей.Один из способов продемонстрировать ценность этого подхода - рассмотреть проблему тематики.Если все ваши стили связаны в Javascript, новая тема потребует нескольких настроек параметров (в лучшем случае) или отдельного набора файлов JS (в худшем случае).

В одной ситуациидля меня больше смысла использовать функцию css в анимации положения и атрибутов непрозрачности, которые требуются для выполнения конкретных задач (например, вставка <div> на место), а не просто в стилизации элементов.

...