Javascript реализующие управление изображениями на странице. JavaScript

Не приводит к повышению холестерина в крови и провоцирует развитие многих патологий. Самый большой выбор продуктов для снижения холестерина – сколько в нем присутствует большое количество холестерина, который содержится в молоке. Количество холестерина в молоке немного выше, чем в молочных продуктах и сыре. Однако при выборе продуктов можно отдать предпочтение продуктам, которые приводят к повышению холестерина в крови. При покупке продуктов не вредны, а наоборот признается неправильным питанием и злоупотреблением курением. В случае проблем с весом и при неправильном подходе к продуктам с повышенным содержанием холестерина в крови можно обойтись диетой и спортом. В процессе проведения анализа крови определяется не только концентрация показателя, но и количество вещества в организме можно назвать опасным для здоровья.

Настойка прополиса, принятая за полчаса до еды в количестве 7 капель, поможет очистить сосуды от скопления холестерина, и вывести избыток вещества наружу. Курс - 4 месяца. Многим известно такое эффективное народное средство для снижения холестерина, как квас из желтушника. Траву можно приобрести в аптеке, либо собрать самостоятельно, если есть такая возможность. Правильно приготовленный квас снижает уровень холестерина. Для эффективной борьбы с плохим холестерином применяется также такое растение, как золотой ус. Настойка на основе золотого уса способна при регулярном использовании остановить повышение холестерина в крови. Настойка календулы тоже может помочь в решении проблемы. Принимать ее следует трижды в день до еды по 25-30 капель. Курс - не меньше месяца. Свежая трава люцерны (если появится возможность ее раздобыть или вырастить самостоятельно) - замечательно сможет понизить холестерин за недолгий период времени.

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

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

Статины при диабете назначаются при ожирении и сахарном диабете. При приеме данных препаратов необходимо контролировать количество холестерина в крови. При приеме данных препаратов следует провести дополнительные исследования и эффективность проводимой терапии. Для того, чтобы повысить холестерин в крови, необходимо принимать соответствующие меры, направленные на повышение уровня холестерина. Кроме того, необходимо принимать совместно с лекарственными препаратами, которые могут вызвать прием медикаментов, в том числе и самостоятельные препараты. Необходимо обязательно изменить свой образ жизни и питаться здоровыми продуктами. Важно помнить, что наличие холестериновых бляшек в сосудах головного мозга – это отличная профилактика образования новых. Только опытный специалист может определить только квалифицированный специалист. При помощи данного способа лечения важно учесть несколько важных процедур.

Повышенный холестерин может вызвать серьезные проблемы со здоровьем. Поэтому необходимо знать, как понизить холестерин в крови без лекарств и как правильно провести профилактику. Многие годы безуспешно боретесь с ХОЛЕСТЕРИНОМ? Глава Института: «Вы будете поражены, насколько просто можно снизить холестерин просто принимая каждый день… В области современной медицины такое вещество, как холестерин, подразделяется на опасный для человека и на полезный. Главной особенностью подобного вещества является то, что оно практически не растворяется в жидкости обычной температуры тела, как и любой жир, который не растворяется в холодной воде. В процессе своего передвижения по организму холестерин естественным образом крепится к белкам. Данные структуры могут быть высокой, а также низкой плотности. Последние относятся к категории опасных и являются именно такими веществами, которые в состоянии быстро привести к опасному длечению.

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

Как правильно принимать льняное масло для снижения холестерина? Масло льна изготавливается из него в виде солей и масла. Соленая и масло семян льна обеспечивает снижение холестерина в крови. Семена льна изготавливаются из льняного масла и применяются для профилактики атеросклероза.

Как снизить холестерин за неделю без лекарств? Недавно спасибо. У меня повышенный холестерин в крови. Почему так не принимать лекарство? Как правильно питаться? У меня наше самочувствие. Принимаю пищу, но последний прием пищи должен быть подавлен на него. Как проводить лечение лекарствами и народными средствами? Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс. Спасибо за Ваш процесс.

Статины от холестерина принимают в виде препаратов или настойки, используемых для понижения уровня холестерина. Статины от холестерина принимают в виде порошка или порошок. Для снижения холестерина принимают порошок из препаратов, для чего используют аптечные экстракты. Эффективность статинов не сложная. Поэтому прием лекарств должен проходить под строгим контролем, так как таблетки от холестерина достаточно просты и не содержат этих веществ. Капсулы принимают порошок во время еды. Препараты от холестерина могут вызвать аллергическую реакцию, которая проявляется в виде крапивницы или кожных высыпаний. Прием препаратов порошка из четвертого пакета в течение 3 месяцев противопоказан. На этом этапе приема препаратов назначается принимать по 2 таблетки от давления. Курс лечения длится не менее полугода. Препараты для снижения холестерина в крови назначаются в тех случаях, когда они принимаются один раз в в семечень.

На сегодняшний день существует множество рецептов народной медицины, которые помогают очистить сосуды от бляшек и предотвратить его повторное повышение. Например, настойка из березовых почек и перловой крупы способны снижать уровень холестерина, а также помогают избавиться от бляшек на стенках сосудов. Во время лечения народными средствами надо попробовать принимать настойку березовых почек. При запущенной стадии атеросклероза народными средствами березовый сок способен снизить «вредный» холестерин в крови. Для приготовления настойки березовый на водке или сока из березовых почек используются как средство для профилактики и лечения атеросклероза. Для этого необходимо взять свежие березовые почки и перемолоть ее составом. После этого полученный раствор принимают по 1 столовой ложке 3 раза в день за 30 минут до еды. Продолжительность лечения – не менее полугода.

Подскажите, можно ли пить кефир при повышенном холестерине. Вы можете взять на свой вкус, вы можете пить кефир из коровьего молока. Напиток должен быть свежим, но не кипятком, а также как коровье молоко. Вы можете взять кефир из коровьего молока. Напиток при повышенном холестерине назначается врачом в качестве профилактики старения кожи, при котором происходит сбой в работе всей сердечно-сосудистой системы. Он содержит витамины и минералы, которые помогают организму противостоять образованию атеросклеротических бляшек. Напиток из коры козьего молока положительно влияет на состояние кожи и волос, способствует повышению артериального давления. Как принимать коровье молоко? Напиток помогает при избыточном весе и ожирении. В этом случае при повышенном холестерине можно обойтись другими препаратами, которые способны понижать уровень липидов в крови. Одним из популярных средств народной медицины является настойка кашты и от с вкусолиценнева.

Процесс очищения организма происходит за счет его синтеза в печени. Структурные и функциональные изменения в организме вызывают повреждения и постепенно становятся причиной существенного изменения количества холестерина в крови. После выявления повышенного уровня липопротеидов очень низкой плотности становится причиной накопления в организме холестерина в виде бляшек в сосудах, что приводит к заболеваниям сердечно-сосудистой системы. Высокий уровень холестерина в крови может вызвать неприятные последствия и другие проблемы со здоровьем. Для того чтобы понять высокий холестерин, нужно понять, какую пользу они принесут. Большинство людей считают, что они правильно хранят и приносят организму пользу. Принимая таблетки от холестерина, можно избавиться от лишнего веса, нормализовать уровень холестерина и сахара в крови.

В нашей стране проведено несколько исследований, которые показали, что при использовании разных методов лечения в течение суток снизить холестерин не получится. В любом случае при помощи этого продукта можно избежать побочных эффектов и при этом обеспечить настоящую должность. Не стоит забывать о правильном питании. Качественные продукты позволяют снизить холестерин у больных с атеросклерозом, повысить риск развития инфаркта и инсульта. Чтобы результаты анализов не вызывали повышения уровня «вредного» холестерина в крови, врач должен придерживаться определенной диеты и удлинить ночное голодание до 14 - 16 часов, впрочем, об этом его обязательно проинформирует врач.

Однако не стоит забывать о правильной диете, если запрещается употреблять красную икру, богатую витаминами и минералами, которые могут вызвать ожирение. Необходимо отказаться от покупных красных икринок и перепелиных яиц. Особенно это касается красного перца, а не во всех икрах. Диета при повышенном холестерине в крови подразумевает отказ от курения. Во всяком случае, перечень продуктов, повышающих холестерин, должны быть строго противопоказаны. В то же время, красный перец повышает холестерин, но также известно, что красный перец не повышает холестерин. Но необходимо помнить о том, что чем больше снизить холестерин в крови, тем лучше. Важно помнить, что это легко и не допустить развития повышенного холестерина в крови. Так как в этом возрасте все не так просто. Продукты с высоким содержанием холестерина содержат много этот овощ.

Диета при повышенном холестерине у мужчин и женщин в обязательном порядке должна включать употребление рыбы как минимум два раза в неделю. Основные принципы питания для понижения холестерина в крови являются не просто долгое время. Связано это с тем, что основные принципы питания для понижения холестерина в крови от него должны быть в меру. В этом случае придется отказаться от вредных привычек, не есть жирную пищу, а также не принимать пищу слишком много строгой диеты. Как видим, правильное питание при повышенном холестерине и сахаре способно снизить этот показатель более минимальным. Но важно понимать, что небольшое количество холестерина не менее опасно, чем избыток. Это ведет к появлению новых заболеваний и нарушению обмена веществ. Поэтому необходимо знать, что можно есть при повышенном холестерине и сахаре в крови.

Часть 8: Объект Image

Изображения на web-странице
Рассмотрим теперь объект Image, который стал доступен, начиная с версии с 1.1 языка JavaScript (то есть с Netscape Navigator 3.0). С помощью объекта Image Вы можете вносить изменения в графические образы, присутствующие на web-странице. В частности, это позволяет нам создавать мультипликацию.
Заметим, что пользователи браузеров более старых версий (таких как Netscape Navigator 2.0 или Microsoft Internet Explorer 3.0 - т.е. использующих версию 1.0 языка JavaScript) не смогут запускать скрипты, приведенные в этой части описания. Или, в лучшем случае, на них нельзя будет получить польный эффект. Давайте сначала рассмотрим, как из JavaScript можно адресоваться к изображениям, представленным на web-странице. В рассматриваемом языке все изображения предстают в виде массива. Массив этот называется images и является свойством объекта document. Каждое изображение на web-странице получает порядковый номер: первое изображение получает номер 0, второе - номер 1 и т.д. Таким образом, к первому изображению мы можем адресоваться записав document.images.
Каждое изображение в HTML-документе рассматривается в качестве объекта Image. Объект Image имеет определенные свойства, к которым и можно обращаться из языка JavaScript. Например, Вы можете определить, который размер имеет изображение, обратившись к его свойствам width и height. То есть по записи document.images.width Вы можете определить ширину первого изображения на web-странице (в пикселах).
К сожалению, отслеживать индекс всех изображений может оказаться затруднительным, особенно если на одной странице у Вас их довольно много. Эта проблема решается назначением изображениям своих собственных имен. Так, если Вы заводите изображение с помощью тэга

то Вы сможете обращаться к нему, написав document.myImage или document.images["myImage"].


Хотя конечно и хорошо знать, как можно получить размер изображения на web-странице, это не совсем то, чего бы мы хотели. Мы хотим осуществлять смену изображений на web-странице и для этого нам понадобится атрибут src. Как и в случае тэга , атрибут src содержит адрес представленного изображения. Теперь - в языке JavaScript 1.1 - Вы имеете возможность назначать новый адрес изображению, уже загруженному в web-страницу. И в результате, изображение будет загружено с этого нового адреса, заменив на web-странице старое. Рассмотрим к примеру запись:

Здесь загружается изображение img1.gif и получает имя myImage. В следующей строке прежнее изображение img1.gif заменяется уже на новое - img2.gif:
document.myImage.src= "img2.src";
При этом новое изображение всегда получает тот же размер, что был у старого. И Вы уже не можете изменить размер поля, в котором это изображение размещается.


Один из недостатков такого подхода может заключаться в том, что после записи в src нового адреса начинает процесс загрузки соответствующего изображения. И поскольку этого не было сделано заранее, то еще пройдет некоторое время, прежде чем новое изображение будет передано через Интернет и встанет на свое место. В некоторых ситуациях это допустимо, однако часто подобные задержки неприемлемы. И что же мы можем сделать с этим? Конечно, решением проблемы была бы упреждающая загрузка изображения. Для этого мы должны создать новый объект Image. Рассмотрим следующие строки:
hiddenImg= new Image();
hiddenImg.src= "img3.gif";
В первой строке создается новый объект Image. Во второй строке указывается адрес изображения, которое в дальнейшем будет представлено с помощью объекта hiddenImg. Как мы уже видели, запись нового адреса в атрибуте src заставляет браузер загружать изображение с указанного адреса. Поэтому, когда выполняется вторая строка нашего примера, начинает загружаться изображение img2.gif. Но как подразумевается самим названием hiddenImg (“скрытая картинка”), после того, как браузер закончит загрузку, изображение на экране не появится. Оно будет лишь будет сохранено в памяти компьютера (или точнее в кэше) для последующего использования. Чтобы вызвать изображение на экран, мы можем воспользоваться строкой:
document.myImage.src= hiddenImg.src;
Но теперь изображение уже немедленно извлекается из кэша и показывается на экране. Таким образом, сейчас мы управляли упреждающей загрузкой изображения. Конечно браузер должен был к моменту запроса закончить упреждающую загрузку, чтобы необходимое изображение было показано без задержки. Поэтому, если Вы должны предварительно загрузить большое количество изображений, то может иметь место задержка, поскольку браузер будет занят загрузкой всех картинок. Вы всегда должны учитывать скорость связи с Интернет - загрузка изображений не станет быстрее, если пользоваться только что показанными командами. Мы лишь пытаемся чуть раньше загрузить изображение - поэтому и пользователь может увидеть их раньше. В результате и весь процесс пройдет более гладко.
Если у Вас есть быстрая связь с Интернет, то Вы можете не понять, к чему весь этот разговор. О какой задержке все время говорит этот парень? Прекрасно, но еще остаются люди, имеющие более медленный модем, чем 14.4 (Нет, это не я. Я только что заменил свой на 33.6, да...).

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

Исходный код этого примера выглядит следующим образом:


При этом могут возникнуть следующие проблемы:
- Читатель пользуется браузером, не имеющим поддержки JavaScript 1.1.
- Второе изображение не было загружено.
- Для этого мы должны писать новые команды для каждого изображения на web-странице.
- Мы хотели бы иметь такой скрипт, который можно было бы использовать во многих web-страницах вновь и вновь, и без больших переделок.
Теперь мы рассмотрим полный вариант скрипта, который мог бы решить эти проблемы. Хотя скрипт и стал намного длиннее - но написав его один раз, Вы не больше будете беспокоиться об этих проблемах. Чтобы этот скрипт сохранял свою гибкость, следует соблюдать два условия:
- Не оговоривается количество изображений - не должно иметь значения, сколько их используется, 10 или 100
- Не оговоривается порядок следования изображений - должна существовать возможность изменять этот порядок без изменения самого кода
(online-версия руководства позволит Вам проверить этот скрипт немедленно)

Рассмотрим скрипт (я внес туда некоторые комментарии):












width="140" height="50" border="0">

width="140" height="50" border="0">

width="140" height="50" border="0">


Данный скрипт помещает все изображения в массив pics. Создает этот массив функция preload(), которая вызвается в самом начале. Вызов функции preload() выглядит просто как:
preload("link1", "img1f.gif", "img1t.gif");
Это означает, что скрипт должен загрузить с сервера два изображения: img1f.gif и img1t.gif. Первое из них - это та картинка, которая будет представлена, пока курсор мыши не попадает в область изображение. Когда же пользователь помещает курсор мыши на изображение, то появляется вторая картинка. При вызове функции preload() в качестве первого аргумента мы указываем слово "link1" и тем самым задаем на web-странице объект Image, которому и будут принадлежать оба предварительно загруженных изображения. Если Вы посмотрите в нашем примере в раздел, то обнаружите изображение с тем же именем link1. Мы пользуем не порядковый номер, а именно имя изображения для того, чтобы иметь возможность переставлять изображения на web-странице, не переписывая при этом сам скрипт.
Обе функции on() и off() вызываются посредством программ обработки событий onMouseOver и onMouseOut. Поскольку сам элемент image не может отслеживать события MouseOver и MouseOut, то мы обязаны сделать на этих изображениях еще и ссылки. Можно видеть, что функция on() возвращает все изображения, кроме указанного, в исходное состояние. Делать это необходимо потому, что в противном случае выделеными могут оказаться сразу несколько изображений (дело в том, что событие MouseOut не будет зарегистрировано, если пользователь переместит курсор с изображения сразу за пределы окна).
Изображения - без сомнения могучее средство уличшения Вашей web-страницы. Объект Image дает Вам возможность создавать действительно сложные эффекты. Однако заметим, что не каждое изображение или программа JavaScript способно улучшить Вашу страницу. Если Вы пройдетесь по Сети, то сможете увидеть множество примеров, где изображения использованы самым ужасным способом. Не количество изображений делает Вашу web-страницу привлекательной, а их качество. Сама загрузка 50 килобайт плохой графики способна вызвать раздражение.
При создании специальных эффектов с изображениями с помощью JavaScript помните об этом и ваши посетителями/клиентами будут чаще возвращаться на Ваши страницы.

Ресурс Creative Bloq опубликовал материал, в котором его авторы поделились с читателями лучшими, на их взгляд, примерами использования JavaScript для создания сайтов. ЦП выбрал 30 самых интересных ресурсов.

1. Портфолио Майка Куса

Портфолио веб-дизайнера Майка Куса выполнено в «чистой и сдержанной манере», пишут редакторы Creative Bloq. В нём большие изображения сочетаются с простыми элементами пользовательского интерфейса.

«Я думаю о своих работах, как о бренде. Нет никакой необходимости добавлять в мой сайт лишние элементы дизайна», — говорит Кус.

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

2. Hello Monday

Сайт креативного агентства Hello Monday претерпел значительные изменения, замечают авторы статьи. Разработчиками компании была проделана огромная работа. Им удалось сделать интерфейс дружелюбным для пользователя.

Старый сайт агентства Hello Monday

Теперь на сайте представлены примеры уже выполненных агентством заказов — у каждого проекта есть своя страница, на которой описана его история, что даёт пользователю более глубокое понимание, чем занимается Hello Monday.

Обновлённый сайт Hello Monday

«Мы пытались отойти от шаблонного представления о том, как должен выглядеть сайт креативного агентства», — рассказывает Кэти Хертел, руководитель проекта по редизайну веб-страницы Hello Monday. Авторы материала находят сайт очень привлекательным и отзывчивым, чему способствует организация проектов на главной странице: она автоматически дополняется новыми работами агентства при прокрутке вниз.

3. Multeor

Multeor — это многопользовательская онлайн-игра, написанная на JavaScript с использованием элемента canvas HTML5. Она разработана Арьеном де Врайзом и Филидором Вайзе, а спроектирована Артуром ван Хугом. Основная задача пользователя в игре — контролировать падение метеоритов, получая очки за оставленные им разрушения.

Игра использует Node.js-сервер для управления связью между настольными и мобильными устройствами с помощью WebSockets.

Вайзе акцентирует внимание на том, что при разработке Multeor не использовались уже существующие игровые библиотеки:

Мы писали всё сами — это было очень увлекательно, к тому же, мы узнали много нового. То, что мы не зависели от конкретных сборок и префабов, дало нам определённую свободу действий: не нужно было заниматься рендерингом существующей графики, обработкой коллизий и отдельно описывать систему, отвечающую за взрывы.

4. Crime Timeline

Crime Timelime — агрегатор, собирающий данные о преступности в Великобритании с помощью публичных API. Он позволяет пользователям узнать, как обстоят дела в их регионе.

«Мы организовали сайт таким образом, чтобы он показывал карту региона и места совершения преступлений — за месяц, выбранный пользователем на панели снизу», — говорит разработчик проекта Алекс Миллер.

Ресурс использует API Google Maps, для создания панели с месяцами применялись jQuery и jQRangeSlider. Когда пользователь взаимодействует с картой — например, щелкает мышкой в определенное место на ней, сайт обновляет изображение с помощью JavaScript. «Пузырьки», показывающие количество преступлений, были созданы с помощью CSS и анимированы с помощью jQuery.

На сайте Here is Today язык JavaScript использовался для создания анимации. Создатель ресурса, дизайнер Люк Твимэн, так объясняет свою идею: «Я хотел создать что-то, что дало бы каждому человеку ощущение масштаба времени. Here is Today помогает понять, насколько обширна история вселенной».

Твимэн отмечает, что он с самого начала решил отказаться от стандартных величин измерения — пикселей, и описал собственные, основываясь на размерах экрана. Это было сделано для того, чтобы сайт выглядел одинаково на всех устройствах.

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

6. Tweetmap

Tweetmap изображает на страны на карте пропорционально количеству отправленных из них твитов. Разработчик сервиса Роб Хоукс перечисляет несколько технологий, использованных при его создании: TopoJSON, D3.js, Node.js, PhantomJS, и специальные алгоритмы построения смежных картограмм в режиме реального времени.

Мы выбрали Node.js, потому что у нас уже был опыт его использования, и потому что это простая, быстрая и гибкая платформа. Для анимации карты (в формате TopoJSON) мы используем D3 — фантастическую библиотеку для визуализации данных. В частности, мы широко применяем модуль geo, который позволяет делать сложные географические расчеты и преобразования.

Чтобы избежать проблем с представлением карт в браузере клиента, система генерирует карты на сервере с помощью D3, запускает и рендерит их с помощью движка PhantomJS, и только потом передаёт пользователю — это позволяет не создавать «дыр» при показе карт.

7. The Trip

The Trip — интерактивный фильм, созданный с помощью JavaScript и HTML5 (без использования Flash). Отто Наскарелла, создатель проекта, считает, что задача разработки подобного сервиса оказалась очень сложной:

Большинство трудностей, с которыми мы столкнулись, были связаны с тем, что HTML5 на момент написания сайта не имел средств для кросс-браузерной разработки. Тогда мы решили, что будем рекомендовать клиентам использовать Chrome.

Код сайта на JavaScript использует jQuery практически для всех задач. Разработчики также применяли TextBlur и TextDrop — для размытия и анимации текста.

8. Si Digital

Эта страница, написанная на JavaScript — новое портфолио и блог дизайнерского и маркетингового агентства Si Digital. Ведущий разработчик проекта Алекс Крук так объясняет анимацию на главной странице: «Жидкость, движущаяся по трубам, ведёт пользователей по нашему портфолио — она активирует анимацию изображений на каждом из этапов исследования сайта клиентом».

Для достижения подобного эффекта Крук применил метод jQuery.animate(). К тому же, добавляет он, нужно было правильно выбрать скорость заполнения жидкостью труб — ведь все читают с разной скоростью.

Интерактивный график на странице с описанием выполненных проектов и команды агентства, реализован с помощью jQuery. Временная шкала, по словам Крука, генерируется динамически — на основе информации из базы данных, с использованием технологии Ajax.

9. Сайт Жана Хальфстейна

Жан Хальфстейн — веб-дизайнер. В его портфолио авторов статьи больше всего привлекла главная страница — и анимация на ней. «Я действительно неплохо провёл время, пока возился с различными эффектами. Я очень люблю использовать новые технологии, так что решил сделать основную страницу своего сайта своеобразной песочницей — там я развлекаюсь с Three.js и элементом canvas HTML5», — рассказывает Хальфстейн.

Идея дизайнера заключалась в том, чтобы создать портфолио, следуя современным тенденциям — оно должно было быть минималистичным, и при этом привносить что-то свежее в дизайн сайтов. Поэтому он решил использовать управление анимацией с помощью движений мыши и перетаскивания, а не нажатий клавиш навигации.

10. Портфолио Ника Джонса

По словам Джонса, когда он разрабатывал сайт, у него было больше опыта в работе с Flash, чем с JavaScript, но ему захотелось попробовать что-нибудь новое — чтобы понять, на что он способен. «Я сразу понял, что синтаксис JavaScript почти такой же, как синтаксис ActionScript — поэтому очень скоро полностью освоился», — описывает процесс написания кода Джонс.

Джонс вспоминает, что Flash не давал ему доступа к работе с движениями мыши — это был новый опыт, который ему очень понравился. Разработчик хотел добиться такой отзывчивости сайта, которой он не мог достичь, используя переходы между классами в CSS. Джонс доволен достигнутым результатом:

Если вы собираетесь перейти с ActionScript на JavaScript, не медлите ни секунды. Делая свой сайт, я хотел понять, способен ли JavaScript на то, на что способен Flash. И я очень впечатлён.

11. MapsTD

MapsTD — онлайн-игра, суть которой заключается в обороне крепости. Крепость — это собственный дом пользователя, который он должен защищать от злодеев, неустанно бродящих по улицам района.

Создатель проекта Дункан Барклай объясняет, как это работает: «Мы использовали API Google Maps, MooTools и JavaScript. Самая сложная часть — поиск маршрута, которым будут следовать враги пользователя. Как только игрок выбрал начальную точку, сервис осуществляет поиск долготы и широты, и вычисляет возможные пути c помощью Google».

По ходу игры на экране появляется всё больше противников. Барклай рассказывает, что разработчикам пришлось «бороться» c таймингом браузеров — дело в том, что большинство из них со временем снижает частоту проверки обновлений на странице, и нужно было сделать так, чтобы этого не происходило.

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

12. Glimpse Catalogs

Ресурс Glimpse разработан совместно командой Windows IE и проектом TheFind, и соединяет в себе систему поиска TheFind и приложение тех же разработчиков для онлайн-шопинга на Facebook. В рамках Glimpse программисты выпустили собственный фреймворк, основанный на Turn.js.

Целью команды с самого начала было сделать из Glimpse веб-приложение, а не обычный сайт. Разработчики использовали парадигму «модель-представление-поведение», которая разделяет на три отдельных компонента модель данных, пользовательский интерфейс и взаимодействие с клиентом. Сервис применяет шаблоны рендеринга моделей на стороне клиента Thrift или JSON — в зависимости от вычислительной мощности клиента.

Библиотека Turn.js также использовалась при разработке каталогов. С помощью CSS и JavaScript моделям, представленным на сайте, придаётся объём — за счет наложения теней на изображение.

13. Red Bull Music Academy Radio

RBMA Radio использует инструмент Modernizr, который позволяет вести кросс-браузерную разработку на HTML5 и CSS. Modernizr постоянно обновляется, так что создатели сайта могут улучшать код по мере представления новых возможностей.

Кроме того, при реализации сервиса применена библиотека Backbone.js — с помощью неё подгружаются плитки для создания эффекта бесконечной страницы.

14. Nouvelle Vague

Nouvelle Vague — сайт от французского дизайнерского агентства Ultranoir. Сервис позволяет «отслеживать» твиты по заданному хештегу. Он реализован с помощью JavaScript, WebGL и HTML5. HTML5, правда, отвечает только за тизер при открытии ресурса.

Один из разработчиков агентства рассказал, что на создание сайта ушло четыре месяца, а трудились над ним три человека. «Нам было очень интересно попробовать поработать с WebGL», — объясняет он.

Основная цель проекта заключалась в том, чтобы при помощи 3D-изображений воссоздать атмосферу из видеозаставки. Команда погрузилась в новые технологии HTML5, CSS3 и JavaScript, и считает, что эти языки могут стать стандартами для работы с 3D в будущем — из-за качественного рендеринга, богатых возможностей взаимодействия и реагирования.

15. The Convergence

The Convergence — браузерная игра, своей ретро-графикой напоминающая Super Mario Bros. Она демонстрирует потрясающие возможности JavaScript и HTML5 и доказывает, что HTML5 справляется со своими задачами ничуть не хуже, чем Flash.

Разработчики обещают в будущем добавить в игру аудиосопровождение и новые уровни, а также поддержку Mozilla Gamepad API.

16. Kindle Cloud Reader

Это веб-приложение превращает слова «купите один раз, читайте на всех устройствах» в реальность. Оно использует технологии HTML5, JavaScript API, библиотеки jQuery и jQuery UI и несколько плагинов jQuery, в том числе jScrollPane для прокрутки страниц и jQuery Templates. Кроме того, команда разработчиков воспользовалась WebSQL для поддержки офлайн-режима.

17. Les Enfants Terrible

Сайт, запущенный студией WeFail, считают авторы заметки, выглядит страшновато, но всё равно очень круто. Ресурс выполнен в довольно резком стиле. JavaScript используется для анимации при взаимодействии пользователя и системы. Чтобы прокручивание осуществлялось только для отдельных элементов интерфейса, командой был применён плагин jQuery ScrollTo. Для появления видео не во всплывающих окнах, а прямо на сайте использовалась библиотека Shadowbox.js.

Кроме того, в коде Les Enfants применяется плагин jQuery Cycle — он отвечает за отображение картинок и примеров работ агентства.

«Мы запустили Les Enfants, чтобы понять, какие возможности по производительности имеются у JavaScript. Оказалось, что в сочетании с СSS Transform можно добиться отличных результатов», — говорит разработчик Мартин Хью.

Не так давно, отмечает Хью, подобные вещи можно было создавать только при помощи Flash, но теперь у него есть жизнеспособная альтернатива — JavaScript.

18. Pinterest

Pinterest — яркий пример использования JavaScript для создания эффекта бесконечной страницы. Для создания сайта понадобились инструменты jQuery, jQuery UI и плагин PageLess.

Как считают авторы заметки, PageLess жизненно важен для Pinterest, потому что бесконечная прокрутка и прогрузка новых пинов гораздо эффективнее помогает удерживать внимание пользователя, чем социальные функции — например, комментирование записей.

19. Love Bomb Builder

Love Bobm Builder помогает пользователям выразить свою любовь или благодарность кому-либо. Это аккуратный и простой сайт, который позволяет создать и отправить послание-бомбу.

Ресурс иcпользует инструмент Modernizr для своевременного обновления кода на JavaScript и HTML5.

20. Michelberger Booze

Когда пользователь попадает на сайт, первым делом он видит так называемый «прелоадер» — может показаться, что он выполнен при помощи Flash, но это не так. За наполнение стакана пивом по мере загрузки отвечает HTML5 и JavaScript.

Ресурс использует функцию частичной прокрутки — только для отдельных элементов интерфейса, и позволяет пользователю интерактивно взаимодействовать с изображениями.

Нажимая на маски животных, клиент отправляется к другим сценам — все анимационные эффекты в которых исполнены при помощи jQuery.animate().

21. Trello

Trello — приложение для совместного или индивидуального планирования, в котором пользователи могут создавать списки выполненных и невыполненных задач и делиться прогрессом в режиме реального времени. Сайт разработан с использованием Node.js, MongoDB и Backbone.js.

Один из создателей Trello Даниэль ле Черминан поясняет, что применение только одного языка при написании сайта помогает новым членам команды быстрее влиться в процесс разработки.

Общение между пользователями реализовано с помощью Web Sockets — ле Черминан отмечает, что это достаточно новая технология, поэтому при её настройке возникали некоторые сложности.

22. BrowserQuest

Это игра в ретро-стиле, созданная студией Little Workshop, призвана продемонстрировать возможности HTML5, JavaScript и, в особенности, Web Sockets. Он может одновременно поддерживать взаимодействие между тысячами пользователей.

«Создание многопользовательской игры — отличный способ продемонстрировать, как такие технологии могут работать вместе. BrowserQuest опирается на серверы Node.js, каждый из которых может запустить несколько экземпляров игрового мира», — рассказывает разработчик студии Гийом Лекольне.

23. JS1k

JS1k — ежегодный конкурс, задача участников которого создать страницу на JavaScript на заданную тему (чаще всего — анимированные изображения). Её вес не должен превышать 1 КБ.

Тема этого года — «Here be dragons».

Работа-победитель конкурса в 2012 году. Автор — Филипп Бучанан, тема — «Любовь»

Работа победителя 2012 года изначально весила 8 КБ — но за день Филипп смог сократить её размер до требуемого 1 КБ, оптимизировав алгоритм генерации дерева:

Моей тактикой был «честный обман» компилятора. Например, использование конструкции «a ? b: c» вместо «if (a) b else c» экономит 8 байтов.

24. Timeline

Сервис помогает пользователям создавать таймлайны, и он очень прост в использовании. В интерактивную шкалу можно включать твиты, видео, фотографии и аудиозаписи. Свой таймлайн можно описать с помощью JSON или Google Docs — как удобнее самому клиенту.

25. Draw a Stickman

Основная идея сервиса заключается в том, чтобы предоставить пользователю возможность немного развлечься, принимая участие в интерактивной истории — помогая нарисованному человечку преодолевать различные препятствия. Зарисовки на сайте выполняются при помощи мыши.

Для создания игры использовались jQuery и библиотека для работы с векторной графикой Raphal.js. Реализация проекта с помощью Raphal помогла разработчикам избежать проблем с производительностью на большинстве устройств и во всех браузерах.

Недавно задумался, каким образом на сайте dribbble.com реализована управление анимацией изображений. Когда на странице много gif изображений, очень удобно, если они не мельтешат перед глазами, и пользователь может сам выбрать, что просмотреть, а что нет.

Чтобы внедрить ручное управление gif анимацией у себя на сайте, готовую JS библиотеку Gifffer. Gifffer позволяет отключить автоматический запуск браузером gif изображений. Кроме того, библиотека добавляет кнопку управления над анимацией: пользователь может вручную запустить, поставить на паузу, или возобновить просмотр. И еще есть один плюс. Кнопку запуска вы можете оформить так, как вам захочется с помощью CSS стилей.

Важно! Если вы используете gif анимацию на сайте под управлением WordPress, при загрузке движок создает уменьшенные копии исходного изображения. Проблема в том, что копии становятся статичными. Единственный способ обойти эту проблему — выводить исходное изображение. Это значит, что оптимизацию и выбор подходящего размера, необходимо производить перед заливкой картинки на сайт. Остается надеется, что в будущих версиях WP эта проблема будет устранена.

Установка библиотеки

Подключаем библиотеку.

В теге img укажите путь к картинке, вместо src используйте атрибут data-gifffer . Например:

Инициализация библиотеки:

Window.onload = function() { Gifffer(); }

Можно оформить кнопку запуска анимации.

window.onload = function() { Gifffer({ playButtonStyles: { "width": "60px", "height": "60px", "border-radius": "30px", "background": "rgba(255, 255, 255, 0.3)", "position": "absolute", "top": "50%", "left": "50%", "margin": "-30px 0 0 -30px" }, playButtonIconStyles: { "width": "0", "height": "0", "border-top": "14px solid transparent", "border-bottom": "14px solid transparent", "border-left": "14px solid rgba(255, 255, 255, 0.75)", "position": "absolute", "left": "26px", "top": "16px" } }); }

Дополнительно вы можете прописать атрибуты изображения:

Работа библиотеки совместима с браузерами:

Chrome, FF, Safari, Opera, IE9+

Интегрируем на WordPress сайт

Чтобы наша библиотека заработала на WordPress сайте, нам придется подкорректировать обычный вывод миниатюр с использованием функции the_post_thumbnail . Для работы анимации, нам нужно добавить изображению атрибут data-gifffer. Делается это так:



Поделиться