Реализация айФонных 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>
разрешенные теги или посмотреть как будет выглядеть

metin2 pvp metin2 pvp serverler pvp serverler