Blog. Just Blog

Быстрый поиск

Введите фрагмент названия статьи для поиска

Получение позиции курсора в текстовом поле INPUT

11.07.2022 | Категория: Web-мастеру и не только | Автор: ManHunter
Нашел в этих ваших интернетах забавный визуальный эффект для поля ввода логина и пароля. Но, на мой взгляд, он работает не совсем правильно, так как глаза должны следить за позицией курсора в поле ввода, а не за количеством введенных символов.

Пришлось рисовать универсальную кроссбраузерную функцию для получения позиции курсора в поле INPUT, дополнив список уже имеющихся функций похожего назначения. Вот что у меня получилось:
  1. <script type="text/javascript">
  2. function getpos(id) {
  3.     var el=document.getElementById(id);
  4.     var possel;
  5.  
  6.     // Internet Explorer
  7.     if (document.selection) {
  8.         el.focus();
  9.         if (sel=document.selection.createRange()) {
  10.             sel.moveStart('character', -el.value.length);
  11.             pos=sel.text.length;
  12.         }
  13.         // ... something wrong ...
  14.         else {
  15.             pos=0;
  16.         }
  17.     }
  18.     // Mozilla, Chrome
  19.     else if (el.selectionStart || el.selectionStart=='0') {
  20.         if (el.selectionDirection) {
  21.             if (el.selectionDirection=='backward') {
  22.                 pos=el.selectionStart;
  23.             }
  24.             else {
  25.                 pos=el.selectionEnd;
  26.             }
  27.         }
  28.         else {
  29.             // Opera 9
  30.             pos=el.selectionEnd;
  31.         }
  32.     }
  33.     // ... something wrong ...
  34.     else {
  35.         pos=0;
  36.     }
  37.     return parseInt(pos);
  38. }
  39. </script>
Единственный параметр - id поля ввода, на выходе числовое значение позиции курсора. Вызов функции лучше биндить на все возможные обработчики, так или иначе связанные с изменением содержимого поля ввода или с его (де)активацией. В некоторых случаях в старых браузерах может наблюдаться проблема с определением позиции курсора при выделении фрагмента текста, а также при автоповторе нажатия клавиш. В современных браузерах все работает нормально.

Читать статью целиком »
Просмотров: 254 | Комментариев: 1

Стилизация заданного количества HTML-элементов

25.04.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Стилизация заданного количества HTML-элементов

Средства CSS3 предоставляют широкие возможности для стилизации HTML-элементов. Например, при помощи псевдо-класса :nth-child() можно стилизовать определенный по счету элемент, четные и нечетные элементы, а также элементы, подходящие под формулу записи этого псевдо-класса (смотрите документацию). А вот не совсем стандартная задача: есть таблица, надо стилизовать только первые N ее строчек.

Читать статью целиком »
Просмотров: 538 | Комментариев: 0

Как сделать у ссылок иконки, соответствующие типу файлов

16.01.2021 | Категория: Web-мастеру и не только | Автор: ManHunter

Как сделать у ссылок иконки, соответствующие типу файлов

Понадобилось сделать красивую страничку со списком файлов. Помимо прочего оформления, решил к ссылкам на файлы добавить иконки, соответствующие их типам, примерно как это делается в Проводнике Windows или файловых менеджерах. Сперва хотел реализовать это на серверной стороне, потом подумал, еще подумал, и решил обойтись чистым CSS. Делается это все очень просто. Для каждой ссылки списка в стилях добавляется селектор, соответствующий расширению файлов:
  1. <style type="text/css">
  2. a[href$=".pdf"] {
  3.     padding-left20px;
  4.     backgroundurl('/img/file_pdf.png'no-repeat left 3px;
  5. }
  6.  
  7. a[href$=".doc"], a[href$=".docx"] {
  8.     padding-left20px;
  9.     backgroundurl('/img/file_word.png'no-repeat left 3px;
  10. }
  11.  
  12. a[href$=".jpg"], a[href$=".jpeg"], a[href$=".png"] {
  13.     padding-left20px;
  14.     backgroundurl('/img/file_img.png'no-repeat left 3px;
  15. }
  16. </style>
Размеры изображений с типами файлов подбирайте под размеры текста, смещение фона относительно текста ссылки и отступ также определяются экспериментальным путем в зависимости от особенностей верстки.

Просмотров: 680 | Комментариев: 0

Эффект покачивания изображения при наведении мыши

24.08.2020 | Категория: Web-мастеру и не только | Автор: ManHunter

Эффект покачивания изображения при наведении мыши

Красивый эффект для оформления сайтов на случай какой-нибудь акции или распродажи. При наведении курсора мышки на бейджик, он начинает покачиваться. Никаких скриптов, вся анимация реализована исключительно средствами CSS.

Читать статью целиком »
Просмотров: 1602 | Комментариев: 0

Центрирование элементов на странице средствами CSS

06.05.2020 | Категория: Web-мастеру и не только | Автор: ManHunter
За всю историю развития верстки и Web-дизайна, было придумано немало способов размещения блока точно по центру внутри другого блока. Какие-то лучше, какие-то хуже, какие-то даже получались более-менее кроссбраузерными. Технологии на месте не стоят, поэтому правильный, красивый и современный вариант такого позиционирования достигается комбинацией свойств CSS top, left, right и transform.

Поддержка браузерами свойства transform достаточно хорошая, по крайней мере эту технологию поддерживают все современные декстопные и мобильные браузеры на всех платформах. Для совместимости с некоторыми устаревшими версиями браузеров при описании свойства надо будет дополнительно использовать специфические браузерные префиксы.

Контейнер, относительно которого должны быть спозиционированы вложенные блоки.
  1. .container {
  2.     positionrelative;
  3. }
Значение relative определяет, что абсолютное позиционирование всех вложенных блоков должно считаться не от краев экрана, а от границ родительского элемента. Ну а теперь переходим к описанию правил для вложенных блоков.

Читать статью целиком »
Просмотров: 801 | Комментариев: 1

prev 01 02 03 04 05 06 07 08 09 10
Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2022
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.12 сек. / MySQL: 3 (0.0524 сек.) / Память: 5 Mb
Наверх