Прогресс-бар в помощь выбору значений в поле ввода
Приведён скрипт внесения изменений в группу полей ввода с помощью
группы прогресс-баров. Выполнена подсветка линеек по наведению мыши. ...
Сайт - на новом адресе. ...
Резиновая вёрстка кнопок и окон.
Существует дней: 761 Автор: 12345c
Другие выпуски:
Веб-студия из Петербурга Exclusive Design обеспечила сайт доменным адресом и хостингом.
Выразим благодарность студии Exclusive Design за спонсирование хостинга сайта по Javascript. Её адрес вы теперь можете постоянно видеть в верхнем правом углу сайта.
Также хочу выразить благодарность всем, кто сообщил о готовности помочь с хостингом (было 4 предложения). В частности, было предложение с вариантом jino.net и от Артура Писакова из Израиля (сайт по продвижению сайтов).
Если надо установить несколько численных значений в группе полей и при этом удовлетворить условиям (например, чтобы сумма значений не превышала заданного), то быстрее и удобнее для пользователя делать это через линейку прогресс-баров. На примере показан процесс построения линеек.
В задаче понадобилось построить несколько одинаковых механизмов регулировки значений в полях. Так как они одинаковые, строчки их тоже оказалось удобно генерировать скриптом. Получился небольшой скрипт с генерацией линеек прогресс-баров. Стилями задаются цвета линеек, наполнение каждого элемента сделано на прозрачном однопиксельном рисунке 1x1.gif .
Приведённый код будет работать по copy-paste, только в каталог со скриптом надо добавить однопиксельный прозрачный рисунок 1x1.gif .
В скрипте обеспечена подсветка выбираемых значений. Прогресс-бар имеет вложенную структуру span-тегов, благодаря которой несколько упрощаются операции подсветки групп соседних полей. Процесс работы при этом становится менее очевидным, но попробуем пояснить в 2 словах. Прогресс-бар представляет собой стопку прозрачных слоёв. Классами charUpper, charOver, charLower она может оцвечиваться. Скрипт делает оцвечивание 2 актуальных слоёв - подложки и текущего выбранного по движению мыши или по клику. В исходном
состоянии подложка (t.parentNode.childNodes[1]) подсвечена красным, а текущий выбранный слой - синим. При наведении мыши слой подсвечивается зелёным (className="charLower"), если он ниже текущего, и синим (className="charOver"), если выше. Но если выше, ещё и текущий слой меняет цвет на оранжевый: className="charUpper". При отведении мыши нужные слои становятся снова без классов, прозрачными (className="") или приобретают прежний цвет.
По написанию скриптов на страницах HTML нужна некоторая изобретательность, сложенная со знанием языка, но то же самое нужно и для применения HTML+CSS. И только там, где автоматическое поведение браузеров не помогает, появляются элементы вёрстки с применением JavaScript. Покажем решение типично встречающейся проблемы написания кода резиновой кнопки или рамки с рисованными краями, где не требуется JS.
Применение резиновых кнопок и рамок выгодно там, где их имеется на странице несколько штук, даже фиксированного размера, но за счёт повторения одинаковых рисунков в коде значительно экономится траффик, и облагораживается процесс появления рисунков на странице - кнопки возникают сразу, а не по очереди. (Некешированием особенно страдают рисунки в форумах при просмотре в IE, где страницы не кешируются по необходимости.)
В самом простом случае кнопка фиксированного размера - это рисунок или подложка (background-image:url(урл)). Рисунок (тег img), правда, можно менять по масштабу, но качество прорисовки падает. Если нужен резиновый дизайн кнопки или рамки с рисованными краями, то появляется решение в таблице из 9 ячеек. Такие таблицы может создавать программа ImageReady (часть Фотошопа) и подобные. Рисунок разрезается, и растягиваемые края рамки должны содержать одномерные рисунки, чтобы они могли лежать в фоне и не менять
вид границ при растягивании таблицы. Сразу надо заметить, что это не выгодное решение - 9 рисунков вместо одного. Применение методов построения CSS позволит уменьшить количество рисунков до 4, 3, 2 и даже до одного. В последнем случае, несмотря на усложнение кода, восстанавливаются прежние плюсы фиксированных рисунков - кнопка или рамка появляется сразу после загрузки одного рисунка, не видно постепенного прорисовывания частей картинки, с чем приходилось бы бороться методами JS. (Продолжение в следующем выпуске.).
Текущая очерёдность плана статей(подписчики могут корректировать через голосование).
11. Анимация падающего снега в окне браузера.
10. Инструменты Web 2.0 - приложения, работающие через браузер.
9. Многуровневое меню с навигацией по наведению мыши.
8. Ключевые слова новых технологий, которые нужно знать разработчику веб-страниц.
3. Как писать тексты с доступом через JS без экранирования специальных символов (< и другие).
4. select и list - в них есть много общего. Как и с меню навигации. Эмулятор селекта.
5. Древовидное меню, подход к данным, отделение данных от представления.
6. Многонедельный календарь со ссылками. (По списку строится календарь.)