Pull to refresh

Comments 28

Со временем код анимации в JQuery стал грязноватым.

Как Промптом. И так по всему тексту.
Смотрите исходник — я старался соблюсти дух текста, он такой и есть, писал оригинал не литературовед, причём с шутками. Если есть лучший перевод «Over time, the animation code in jQuery had become kind of messy», пишите в личку, согласуем. Есть такое русское выражение «грязный код» у них — «неряшливый».
Любителям минусовать — предложили бы вариант, действительно. Хотя, наверное, лень.
Мне — не лень, предложил.
Просто не хорошо критиковать все
А тут и критики-то нет. Один высер.
Сделать полноценно-понятный на русском языке текст не так-то уж и просто. Во-первых надо знать русский язык, во-вторых знать аудиторию, под которую пишешь текст. Сам часто читаю переводы и не всегда нахожу правильные переводы, даже казалось бы простых текстов, а все потому, что переводчик элементарно знает мало синонимов — худощав словарный запас.
Запоздало, но сообщу, что @Uagle действительно предложил несколько поправок в личку, за что ему большое спасибо и +.
А по мне, так получилась хорошая версия, с эдакой ноткой неряшливости и в тоже время любви к проекту.
Отлично, команду jQuery с релизом, надо обновляться, я считаю.
Правда в комментах поговаривают, что плагин scrollTo перестал работать (а он достаточно популярный, к стати) и jquery UI control dialog (тоже, думаю, многие пользуются), так что — осторожней.
Я как раз сейчас верстаю сайт с использованием scrollTo — сразу пошел проверять.
Действительно, что-то с ним непонятное произошло. Что-то частично работает, но нестабильно и с глюками.
Сейчас ковыряюсь — в моем случае работает в FF/IE/Opera, но не работает в Хроме.
Похоже, что немного поломали функцию animate (в общем то, что сильно переписано и о чем больше всего сказано).
Остальные части плагина фунциклируют вроде нормально и передают в анимацию ровно те же значения, что и с 1.7.2.
Разобраться глубже, увы, тяму не хватает.
Ого!

Спасибо за ценное предупрежение.
Обычно можно обойтись без громоздкого ScrollTo плагина двумя строчками, которые прекрасно работают и в 1.8.0:
var idtop = $j('#id').offset().top;
$j('html,body').animate({scrollTop: idtop}, 500);
Тогда что теперь делать с events?

Например, есть куча кода, который отцепляет коллбэки от контролов, оборачивает их в разные обертки и приклеивает назад.
> Более гибкий $(HTML, props)

Только исправили одну ошибку с конфликтами имен — $.attr(), и тут же делают новую.

То есть я, например, создаю элемент с аттрибутом autocomplete: $('', {autocomplete: 'foo'}). Спустя какое-то на страницу добавляется плагин autocomplete. Упс, мой код больше не работает. Получается теперь стало опасно использовать props. И зачем он тогда нужен.
и здесь тоже, нелинейная логика…
UFO just landed and posted this here
Да, тем более что .load() может сбивать с толку:

$('#element').load(function() { alert('Loaded') });
$('#element').load('ajax/test.html');

jQuery пишется с маленькой буквы, поправьте в статье. Это режет глаза, также как и некоторые статьи про mySQL, MsSql, Php и т.п. вызывают ощущение, что автор не часто пользуется тем о чём пишет, иначе ему самому было бы не комфортно видеть такое написание.
Верните $(element).data(“events”)!!!
Или подскажите — есть ли способ манипулировать обработчиками на определённом элементе?

П.С. Была такая задача, например: гарантированно выполнить нужный обработчик первым, вне зависимости от уже установленных.
Сталкивался с такой проблемой, в частом случае решил навешиванием обработчика на элемент и его обертку. Работает за счет всплывания событий. То есть:

<wrapper>     ← сюда вешаем обработчик, который должен сработать вторым
    <element> ← а сюда тот, который первым
</wrapper>
Fancybox стал немного глючить. Тоже достаточно популярный плагин.
Спасибо за все сообщения и замечания; дополнил переводы всех багов и фич, чтобы этот список надолго (до версии 1.9) стал удобным руководством по сделанным изменениям в версии 1.8.
Ну можно перевод в принципе:

Модули (новая возможность с версии 1.8)

Начиная с версии jQuery 1.8, можно создавать сборки, которые могут собираться из следующих модулей:
  • ajax
  • css
  • dimensions
  • effects
  • offset

Для создания своей сборки используйте следующие ключи grunt:
Убрать ajax:
grunt custom:-ajax


Убрать css:
grunt custom:-css


Убрать deprecated:
grunt custom:-deprecated


Убрать dimensions:
grunt custom:-dimensions


Убрать effects:
grunt custom:-effects


Убрать offset:
grunt custom:-offset


Убрать все опциональные модули:
grunt custom:-ajax,-css,-deprecated,-dimensions,-effects,-offset


Примечание: все зависимости будут вычислены автоматически.

P. S. надо на выходных поиграться, прямо интересно как с UI будут опциональные сборки дружить
Столкнулся с слишком ранним вызовом ready() до готовности window на IE9 и IE10, баг bugs.jquery.com/ticket/12282.
Так что 1.8.0 настоятельно не рекомендуется к использованию до выхода 1.8.1
Sign up to leave a comment.

Articles