Реализация айФонных UI прелестей с помощью jQuery. Часть 3.

Реализация айФонных UI прелестей с помощью jQuery. Часть 3.

Сегодня мы продолжим создавать интерфейс iPhone на jQuery.

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

Во второй части мы заставили содержимое айФона перематываться с помощью перетаскивания мышью, для этого задействовали плагин jQuery disable text select.

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

Поехали!

Начнем с вдавленности. Скопируем код из примера в предыдущей статье и заменим селектор. На этот раз нам надо модифицировать только один элемент:

$('#myIPhoneHeader').textDropShadow('shadow');

Сам класс shadow выглядит так:

.shadow
{
left: 74px;
top: 3px;
color: #999;
position: absolute;
z-index: 0;
}

Было:

 

 

 

 

Стало:

 

С вдавленностью все. Может быть можно было вдавленность сделать и покруче, но в оригинале именно так :)

Теперь что касается изменений в JavaScript, необходимых для реализации продолжения движения контента. Сначала текстом.

Что мы должны сделать. Когда пользователь таскает содержимое туда-назад, то есть меняет направление движения контента мы сбрасываем некоторую переменную, то есть запоминаем в какую сторону в последний раз двигался контент. Далее смотрим насколько далеко и насколько быстро двигался курсор. Скорость получится делением расстояния на время. Здесь нам надо будет внести несколько констант — если скорость движения была маленькая, то продолжать движение не имеет оригинального смысла. То бишь в оригинале такого нету, но это в общем-то логично.

Я не буду приводить в статье сам JavaScript: я думаю дорогие читатели смогут открыть исходник, который я снабдил всеми необходимыми комментариями.

Пример 3.

Если что-то останется не понятным — милости прошу в комменты.

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

Расскажите друзьям

Оцените статью:
  • 1
  • 2
  • 3
  • 4
  • 5

Комментарии — 7

vizzz
Чёт резковато прокрутка после нажатия происходит.
#
vizzz
Анатолий
Еще было бы интересно увидеть статью о том, как сделать слайдер, т.е. то, как разблокировываеться iPhone после скринсейвера или во время разговора

а по поводу этой статьи, не понимаю, почему с низу отступ и из-за него появляется вертикальный скролинг
#
Анатолий
Анатолий
Кроме всего, если не брать высоту столбца innerTable и innerText - то в контейнерах может быть любое количество материала, но скрипт не берет в расчет размер изображений, в итоге мы получаем то, что "докрутить" до конца контента не получается именно на то количество пикселей, которое занимают изображения
#
Анатолий
Жека
Скроллинг страницы сделан специально, чтобы продемонстрировать работу плагина mousewheel (типа, когда мотаешь колесо внутри айфона, остальное стоит на месте.
Анатолий
Но проблема то в том, что скрипт не берет в расчет размер изображения а только как одну строку и невозможно прокрутить страницу вниз до конца, именно на размер изображения.
#
Анатолий
z00mER
Круто, продолжение будет? мож еще чей нить из айфоновских фич туды вставите:))
#
z00mER
d@otvetchikoff.com
http://www.marcofolio.net/webdesign/the_iphone_unlock_screen_in_xhtml_css_and_jquery.html
Вот и слайд-эффект разблокировки экрана, как кто-то уже просил. Думаю будет полезно.

Новый комментарий

как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
как выглядит какой тег
жирный текст <b>жирный текст</b>
курсивный тект <i>курсивный тект</i>
зачеркнутый текст <s>зачеркнутый текст</s>
подчеркнутый текст <u>подчеркнутый текст</u>
ссылка <a href="адрес">ссылка</a>
function foo() { ... }
<pre><code>function foo() { ... } </code></pre>
разрешенные теги или посмотреть как будет выглядеть
counter strike mt2 silkroad pvp metin2 metin2 pvp knight pvp gm olarak başlayan pvpler pvp silkroad pvp serverler counter strike serverler msn show cam show görüntülü sohbet oyunlar suskunlar gazete oku