Pull to refresh

Comments 25

Это вот прям то чего не хватало, чтобы делать анимацию на js еще более эффектной!
Псевдо-прозрачность — не полная прозрачность. В демках найдите Draggable, кликните «Demo» и перетащите этот блок поверх другого — сразу поймете, о чем я.
Да, но мне кажется, чтобы прозрачность была как в семерке, браузерам и процессорам ох как придется поднапрячься. Что-то меня стал пугать этот эксперимент на другом бекграунде, который не тайлиться.
Вообще-то алгоритм блура довольно простой и довольно легко обсчитывается. Не вижу такой большой проблемы.
алгоритм блюра да, но ведь это в случае с готовой картинкой, а как же с блюром верстки? Там же может лежать куча дивов и css стилей… под блоком который их блурит?
Фильтры SVG в CSS еще никто не отменял. Вот пример для Firefox — www.pmura.com/media/static/svg-blur/ (тоже самое можно и в Chrome, и т.п., лень искать кроссбраузерный пример). Ну и, дабы Chrome не обижать, в нем скоро появится нечто еще более простое — html5-demos.appspot.com/static/css/filters/index.html. Красиво :).
Да, фон не такой, как под плашкой.
UFO just landed and posted this here
афганский пастух Саит негодует! ))

область применения описанного эффекта очень ограничена.
и, хочу надеяться, скоро видяхи с 2 гигами на борту станут обычным делом (хотя надежд все меньше и меньше).
UFO just landed and posted this here
разработчики уже не те, да…
А что в этом плохого с другой стороны? Сервер занимается предоставлением данных, клиент — их визуализацией и организацией UI. Причём клиент (в соответствии с желаниями пользователя и возможностями его железа/софта) сам просит у сервера в каком виде ему данные предоставить.

Собственно к этому веб и идёт частично. Различные API на сайтах для этого и предназначены. Правда и сами сайты не спешат отдавать полный доступ к своим данным. Да жаль, что с кросссайтовыми запросами всё не так хорошо как хотелось бы, с одной стороны, но и приемлемого по безопасности и удобству решения нет, с другой.
UFO just landed and posted this here
С одной стороны вы, конечно, правы.

С другой стороны jQuery весит 32К, а не 100; 32К для современного сайта — это несерьезно, даже если забыть про CDN.

Что касается известных крупных проектов — синдром NIH — бо́льшее зло, чем может показаться, поскольку вкупе отнимает огромное количество ресурсов. Когда мне нужно повесить полочку в квартире, я не начинаю процесс с обстругивания досок, вытачивания отвертки и выплавки шурупов.

UFO just landed and posted this here
где вы нашли jQuery такого маленького размера

Рекомендую гзиповать отдаваемый текстовый контент.

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

К сожалению, я солидарен с вами в этом пункте. Но золото — оно, как обычно, посередине.
Вы говорите про большие проекты, или про маленькие? Если про маленькие — то мне проще прицепить jQuery и не париться. Если про большие — то ваша аналогия с карандашом — натянута.

какая разница между созданием костылей для IE и костылей для jQuery

Огромная. В jQuery починили и закоммитили (или дождались патча, если проект нужно сдавать в 2020 году). А свои костыли будут отваливаться с каждой новой версией IE (утрирую, конечно, но все же).
Есть много операций, которые быстрее без jQuery. Даже если jQuery — простая обёртка над document.getElementById, то на каждый вызов этой обёртки будет уходить лишний вызов функции, проброс параметров, вход в скоуп, выход из скоупа. createElement нативный заметно быстрее создания блока на jQuery. А вот в местах типа click, keydown — обычно нормально использовать, потому что пользователь медленнее компьютера, а mousemove лучше нативный. Но надо отдать должное, без него, я бы не начал изучать считать в своё время, что на яваскрипте можно хоть что-то делать. А потом я прочитал сорцы, которые казались тогда какой-то магией.
Конечно, быстрее. Кто ж спорит?

Пример с createElement явно надуман: начало процесса создания элемента для пользователя неизвестно, чаще всего — это какая-нибудь реакция на действия пользователя, обмен с сервером, короче bottleneck тут явно не вызов jQuery.

getElementById — безусловно никто не предлагает отменить. Он не аннигилирует по факту подключения jQuery. Но смена атрибута у всех элементов с классом foo — это уже не для собственного кода. Ну, на мой взгляд.
Нормальные библиотеки всегда делают кучи проверок, потому что всеядны и проверки от дурака. Когда мы это делаем руками — мы знаем что проверять нужно, а что будет только жрать время лишними условиями. Обычно в сайтах это не критично, а вот в веб приложениях часто нужна сильная оптимизация.
Да, многое возможно реализовать небольшим количеством JS-кода без JQuery или аналогов. Пока дело не доходит до кроссбраузерности. Профессиональных клиент-сайд разработчиков, которые помнят все особенности всех браузеров начиная с MOSAIC Netscape Navigator 2 :) и, как следствие, могут писать кроссбраузерный код, не так уж много. А JQuery даёт какую-никакую гарантию кроссбраузерности, да и вообще предоставляет более удобный интерфейс, чем «нативный», для манипуляций с DOM.

Не оптимизируют — да, есть такое, если нет явных косяков критических узких мест. Масштабировать, особенно вертикально, проще, а главное дешевле, до какого-то предела, который закон Мура каждый день отдаляет. С другой стороны, бизнес-софт должен решать бизнес-задачи, а не служить средством самовыражения программиста. Если бизнес платит прежде всего за то, чтобы рабочий код был написан как можно быстрее и легче поддерживался, то появление высокоуровневых абстракций, пускай и вносящих изрядный оверхид, закономерно. Когда бизнесу понадобится низкоуровневая оптимизация, то он будет платить и за неё.
Моя Опера 11 неприлично тормозит, сколь-нибудь сносная скорость только на самом тормозном IntegralImageBlur. У кого-нибудь есть 12 бета? Как там?

Во всех браузерах попробовал — везде в разы быстрее. Ну как же так… Я ж в Оперу верить перестану.
Opera 12.00 alpha build 132812 — тормозит
Сделал небольшую демку, основываясь на своем комментарии чуть выше: jsfiddle.net/JVRGj/. Как видите текст может быть размытым, а может и не быть. Замените текст чем угодно и эффект сохранится ;).
Для размытия текста (как в примере на картинке из статьи) можно использовать приём, который я заметил на www.google.com/mapmaker

#page * {
    color: transparent !important;
    text-shadow: 0 0 8px grey !important;
    text-decoration: none;
}


Текст сам делается прозрачным, и ему добавляется тень под цвет текста.
Sign up to leave a comment.

Articles