Рядок, що біжить на JavaScript своїми руками, Mihalytch personal blog
Все про високі технології
Social Network
- Feed RSS Subscribe Feed
- Twitter Follow Me
- Facebook Add Me
Popular Post
12 May in PHP
Перекодування CP1251 в UTF8
26 February in PHP
Перекодування UTF-8 в CP1251
Аналог foreach в javascript
2 March in Гумор
Сьогодні мова піде про створення простого скрипту для імітації ефекту рядка, що біжить. Для початку придумаємо, як це працюватиме. По ідеї повинен бути зовнішній контейнер, який визначить розміри блоку рядка, що біжить, і її положення в просторі на сторінці, назвемо його marquee_container. Також повинен існувати блок, що містить текст, що біжить, назвемо його - marquee_text.
Тепер має бути все просто, ми задаємо батьківському блоку фіксовану ширину, position: relative (для того, щоб ми могли абсолютно позиціонувати блок із текстом щодо поточного), overflow: h > Для того, щоб розрахувати момент, коли текст повністю сховається за лівою межею, нам потрібно дізнатися про справжню ширину блоку з текстом. Якщо наш текстовий блок буде у marquee_container із заданою шириною, скрипт нам покаже ширину не більше нами заданої. Тому нам потрібний ще один блок (marquee_subcontainer). Задамо йому ширину width:9999999px і помістимо в нього текстовий блок. Тепер проблему з визначенням ширини вирішено.
Складемо HTML код рядка, що біжить:
Тепер складемо таблицю CSS стилів відповідно до наших міркувань:
Коли всі попередні приготування зробили, можна розпочати написання JS коду.
Тепер можемо ознайомитись із робочим прикладом.
UPD 1: В IE6 не коректно спрацьовував overlow: hidden длябатьківського блоку. Дочірній див з position:absolute відображався повністю, незалежно від меж батьківського блоку. Виявилося потрібно просто додати властивість position: relative та блоку з overflow: hidden.
А в яких випадках добре використовувати імітацію рядка, що біжить?! Просто цікаво!