Archive for August, 2007
Script.aculo.us morph - красивые морфинг эффекты
Морфинг эффекты есть в Script.aculo.us уже некоторое время, но обратил я на них внимание только недавно, когда пытался написать фото слайдшоу на джаваскрипте. Мне нужно было, при нажатии на фотографию, увеличить и передвинуть её в сторону. И всё это передвижение должно происходить плавно, а не просто изменить размер и координаты.
Начал искать джаваскрипт библиотеки для анимации, и вспомнил что в Script.aculo.us, который я и так постоянно использую, уже есть всё, что мне надо. Называется эффект Morph, и сейчас я покажу как просто его использовать.
2 commentsКак подгрузить CSS при помощи Prototype
Не часто это бывает нужно, но иногда приходится подгружать CSS джаваскриптом. Например нужно выдавать браузерам разные версии CSS. В этом туториале мы сделаем простую HTML страничку, где CSS стиль загрузится через 5 секунд после открытия страницы в браузере.
Для этого "чуда" мы используем JavaScript библиотеку Prototype, с которой особенно хорошо знакомы все Ruby On Rails программисты . Конечно можно сделать всё, что я собираюсь показать, и стандартным джаваскритом, без дополнительных библиотек, но Prototype я хотел использовать по двум причинам. Во первых с прототайпом программировать удобнее, во вторых я хотел попробовать новую версию прототайпа, с его новым DOM Builder-ом.
Итак приступим.
Вот наш HTML. Ничего особенного в нём нет. Обратите внимание, что нигде нету ссылки на CSS файл.
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-
<html xmlns="http://www.w3.org/1999/xhtml">
-
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
-
<title>CSS стиль подгружается при помощи Javascript библиотеки - Prototype</title>
-
<!-- Для туториала нужен Prototype 1.6.0 -->
-
<script type="text/javascript" charset="utf-8" src="prototype.js"></script>
-
</head>
-
<body id="mybody">
-
-
<h1>Привет, через 5 секунд мир станет ярче</h1>
-
CSS стиль подгружается при помощи Javascript библиотеки - Prototype.
-
</p>
-
-
</body>
-
</html>
А вот CSS который мы хотим загрузить через 5 секунд после открытия страницы. Этот стиль изменит цвет фона страницы на светло зелёный, или cucumber_shampoo.
-
#mybody {
-
background-color: #E1F5B0;
-
}
Для этого напишем набольшой скрипт, который мы поместим в HEAD.
-
<script type="text/javascript" charset="utf-8">
-
// Следим за загрузкой страницы
-
Event.observe(window, 'load', function()
-
{
-
// Ставим таймер на 5 секунд
-
setTimeout(function()
-
{
-
// Получаем элемент HEAD
-
var head = $$('head')[0];
-
// Создаём новый элемент LINK при помощи Prototype DOM-Builder
-
var css = new Element('link', {type: 'text/css', rel: 'stylesheet', href: 'dynamic.css', media: 'screen'});
-
// Добавим LINK в HEAD
-
head.insert(css);
-
}, 5000);
-
});
-
</script>
Готовый результат можно посмотреть по этому адресу. Хочу ещё раз обратить ваше внимание на то, что версия прототайпа, использованная в туториале - 1.6.0 Release Candidate. С версией 1.5.1.1 скрипт скорее всего работать не будет.
Кто напишет в комментариях самый короткий JavaScript, который делает тоже самое, но без таймера - тот молодец ![]()
Сделай сам : красивые формы для поиска при помощи CSS
Формы для поиска есть пожалуй на любом вэб сайте, но в большинстве случаев они очень скучные и похожи друг на друга. Мне нравится когда html формы чем то отличаются от других. Поэтому сегодня я хочу представить вашему вниманию туториал от Брайана Рэйндэла.
Для туториала нам потребуется две картинки и несколько минут свободного времени.


- HTML Markup
Тут мы создаём DIV контейнер, в котором будет наша форма. - Добавляем CSS
CSS:
-
#search_box {
-
width: 201px;
-
height: 31px;
-
background: url(bg_search_box.gif);
-
}
-
#search_box #s {
-
float: left;
-
padding: 0;
-
margin: 6px 0 0 6px;
-
border: 0;
-
width: 159px;
-
background: none;
-
}
-
#search_box #go {
-
float: right;
-
margin: 3px 4px 0 0;
-
}
-
И - пожалуйста, форма для поиска готова:

Как сделан этот сайт?
Как и многим web разработчикам, мне интересно какие технологии используются на часто посещаемых мною сайтах и как эти сайты вообще сделаны. Обычно я просто отключаю CSS и смотрю как структурирован текст на странице - или это семантически корректный сайт, или на нём скрываются пара десятков таблиц. А иногда становится интересно на каком вэб сервере работает сайт, какие web сервисы он использует, про помощи какого фреймворка он построен. Информацию подобного рода так быстро не увидишь, или по крайней мере раньше - это было достаточно непросто.
Теперь же есть замечательный ресурс для таких любопытных интернет пользователей, как я. Называется сайт BuiltWith.com. Использовать его проще некуда - задаёшь адрес и жмёшь Lookup.
Информация которую выдаёт ресурс - довольно обширная. Там есть данные сервера, какие сервисы используются для ведения статистики, какие сервисы используются для раскрутки сайта, какие фреймворки использовал автор, и много других полезных сведений.
Вот подробный отчёт об AjaxRussia.com
Попробуйте BuiltWith на ваших любимых сайтах и напишите ссылки в комментариях, если найдёте что нибудь интересное.
2 commentsRegexPal - тестируем регулярные выражения в браузере
Уже есть миллион тестеров регулярных выражений. Зачем выдумывать ещё один? По мнению Стива, у RegexPal-a есть ряд преимуществ по сравнению с конкурентами :
- Скорость. Обычные тестеры не выдерживают текст с 5000 или более фрагментами для поиска, или их скорость поиска при этом очень сильно падает. RegexPal выполняет поиск за пол секунды.
- Подсветка синтаксиса в реальном времени.
- Инвертирование поиска - всё что не найдено регулярным выражением.
RegexPal не очень богат на функциональность, но то что он умеет - он делает отлично.
No comments