О чем книга "Интерактивная анимация HTML5. Методические указания"
Данная методичка раскрывает основные подходы к созданию интерактивных анимаций в рамках базового стека веб-технологий, опирающихся на стандарт HTML5. В частности рассмотрены: прямое манипулирование элементами DOM при помощи javascript, работа с тегами canvas и svg, в т. ч. с использованием SMIL.
Создано в интеллектуальной издательской системе Ridero
1 Анимация с помощью функции setinterval
Простую анимацию можно организовать при помощи функции setInterval (); Она циклически вызывает переданный ей метод через заданные интервалы времени до тех пор, пока не будет остановлена функцией clearInterval ();
Пример – смещение блока разметки вправо:
function move (elem) {
var left = 0; // начальное значение
function frame () {// функция для отрисовки
left++
elem.style. left = left + ’px’
if (left == 100) {
clearInterval (timer); // завершить анимацию
}
}
var timer = setInterval (frame, 100) // рисовать каждые 100мс
}
2 Анимация на jquery
2.1 События
Для реакции на действия пользователя и внутреннего взаимодействия элементов скриптов существует механизм событий.
Событие – это сигнал от браузера о том, что что-то произошло. Существует возможность определить реакцию скрипта на возникновение того или иного события, назначив ему функцию-обработчик. Данная функция (или функции, т. к. можно привязать несколько обработчиков к одному событию) будет вызываться всякий раз, когда нужное событие произойдет (например, пользователь кликнет по изображению). На вход функции обработчику передается специальный объект с информацией о произошедшем событии.
Существует много видов событий. Примеры функций библиотеки jQuery, позволяющие удобно привязывать обработчики к определенным событиям, показаны в приведенных ниже четырех таблицах.
Базовые события
События мыши
События загрузки страницы
События браузера
Всплывание события и его остановка
Нужно сказать, что при наступлении события обработчики сначала срабатывают на самом вложенном элементе, затем на его родителе, затем выше и так далее, вверх по цепочке вложенности. Это называется всплыванием события.
Всплытие идёт вверх по иерархии DOM. Обычно событие будет всплывать наверх и наверх, до элемента , а затем до document, а иногда даже до window, вызывая все обработчики на своем пути. Но любой промежуточный обработчик может решить, что событие полностью обработано, и остановить всплытие.
Для остановки всплытия нужно вызвать метод event.stopPropagation ().
2.2 Функция animate
Jquey функция animate () выполняет определенную анимацию на заданном наборе элементов. Анимация происходит за счет плавного изменения их CSS-свойств. Функция имеет два варианта использования:
properties – список CSS-свойств, участвующих в анимации и их конечных значений. (см. описание ниже)
duration – продолжительность выполнения анимации. Может быть задана в миллисекундах или строковым значением ’fast’ или ’slow’ (200 и 600 миллисекунд).
easing – изменение скорости анимации (будет ли она замедляется к концу выполнения или наоборот ускорится). (см. описание ниже)
callback – функция, которая будет вызвана после завершения анимации.
2).animate (properties, options)
где
properties – список CSS-свойств, участвующих в анимации и их конечных значений. (см. описание ниже)
options – дополнительные опции. Должны быть представлены объектом, в формате опция: значение.
Варианты опций:
duration – продолжительность выполнения анимации (см. выше).
easing – изменение скорости анимации (будет ли она замедляется к концу выполнения или наоборот ускориться). (см. описание ниже)
complete – функция, которая будет вызвана после завершения анимации.
step – функция, которая будет вызвана после каждого шага анимации.
queue – булево значение, указывающее, следует ли помещать текущую анимацию в очередь анимаций. В случае false (по-умолчанию), анимация будет запущена сразу же, не вставая в очередь. Иначе она будет ждать завершения предыдущей анимации, стоящей в очереди.
specialEasing – позволяет установить разные значения easing, для разных CSS-параметров. Задается объектом, в формате параметр: значение.
Пример – изменение группы css-свойств по клику на кнопку:
div {
background-color:#bca;
width:100px;
border:1px solid green;
}
Газон
// Произведем изменение нескольких css-величин в ходе одной анимации.
$("#go").click (function () {
$("#block").animate ({
width: «70%», // ширина станет 70%
opacity: 0.4, // прозрачность будет 40%
marginLeft: «0.6in», // отступ от левого края станет равным 6 дюймам
fontSize: «3em», // размер шрифта увеличится в 3 раза
borderWidth: «10px» // толщина рамки станет 10 пикселей
}, 1000); // анимация будет происходить 1 секунду
});
Задание «Скачущий мяч»
1) Сделать анимацию прыгающего мяча. Мяч начинает движение от верхней границы окна браузера, летит вниз, по достижении определенного уровня (пролететь должен не менее полэкрана) изменяет направление движения на противоположное – летит вверх. По достижении верхней границы окна – снова изменяет направление и летит вниз. И так в бесконечном цикле.
В точках разворота мяч должен немного сжиматься по вертикали.
2). По клику на мяч в точке экрана, на которой был совершен клик появляется текст, например, «Гол!», который уходит вправо, постепенно исчезая.
Элемент разметки для текста создается по клику, смещается вправо с изменением прозрачности и удаляется по достижении правого края экрана
3 canvas: рисование на холсте
Canvas – это HTML элемент, предназначенный для создания растровых изображений посредством javascript.
Важно отметить, что сам элемент canvas явлется частью DOM-модели документа, но все, что на нем изображается (фигуры, надписи) остается внутри него и в DOM не встраивается.
3.1 Нанесение изображений при помощи родного API
Canvas вставляется в разметку как и любой другой тег HTML. Работа с его содержимым осуществляется при помощи javascript.
Например:
var canvas = document.getElementById («myCanvas»);
Ежегодно через среднестатистической семейный бюджет проходят в среднем 300 000—2 000 000 руб. Посчитайте, сколько вы зарабатываете в год. Почему мы их не чувствуем? Куда они уплывают? Как их сохранить? На эти вопросы я постараюсь дать вам ответ в своей книге, расскажу о том, как экономить на мелочах, чтобы сохранить миллионы.
В книге подробно описывается уникальная система личностного роста, благодаря которой можно полностью изменить свою жизнь и добиться небывалых высот в работе, бизнесе, спорте или творчестве. Разбудите в себе спящий потенциал, взрастите своего внутреннего Исполина и начните жить той жизнью, о которой мечтаете!
Возьмите чай из своей чашки и сделайте себя красавицей. Конечно, не нужно понимать это дословно, но в этом основной смысл. Косметические компании годами добавляют чай в свои средства по уходу за кожей, а уж они понимают во внешнем уходе за организмом.Итак, хотите ли вы эффективнее использовать ваши чайные запасы? У меня есть 8 советов красоты, в которых используются полюбившиеся вам ингредиенты. Хороший внешний вид начинается в чашке!
Богатство не всегда ассоциируется с добром и счастьем. Говоря о богатстве, часто вспоминают библейскую истину: «Легче верблюду пройти через игольное ушко, чем богатому попасть в рай…» Но мир изменился! Приходят новые технологии, знания, духовные практики, отношение к деньгам и богатству. Автор этой книги уверен: сегодня дорога к деньгам, богатству открылась для всех! Люди могут быть счастливыми и богатыми. И не просто могут. Все люди должны быть
Восточная культура оставила человечеству поистине бесценный дар – искусство укрепления здоровья и продления жизни. Практически во всех известных ныне восточных традициях смысл человеческого существования представлялся в служении высшим идеалам, основывался на гармонии тела и духа и сохранении духовного здоровья. В разное время на Востоке сформировались такие уникальные методики как йога, цигун, тайчи, макробиотика, системы медитации и энергетичес
И был свет… и проникал этот свет сквозь мои закрытые веки, заставляя проснуться. Просыпаться мне не хотелось, но где-то на грани сна и яви слышались крики людей, лай собак и ещё непонятные звуки. Я ворочалась в разные стороны, искала подушку или одеяло, страстно желая натянуть их на глаза и погрузиться обратно в глубокий сон, но под собой находила лишь траву. Траву!!! Резким толчком мое сознание ворвалось в реальность, заставляя распахнуть глаза
От автора: "Мои стихи – это моё откровение и моя история: как жизни, так и творчества. Что же касается названия сборника, оно как нельзя лучше отражает источник моей поэтической мысли. Я живу чувствами и эмоциями: пытаюсь узнать и принять себя, понять окружающих меня людей и выстроить с некоторыми из них близкую эмоциональную связь. Я стремлюсь осознанно переживать все жизненные события, расширяя возможности своего чувственного восприятия. И, жив