Ссылки
Поиск
Новости, Статьи |
Форум |
Файлы |
Привет, Гость
Обновления на форуме
Гадания на таро 0 >> |
Блок новостей в виде блога 1 >> |
Игры для сайта 34 >> |
Сервис создания тестов 94 >> |
Дед 1 >> |
Последние статьи
Сайт для фирмы-изготовителя натяжных потолков 0 |
Антиспам «Я не робот» 0 |
За что воюет Украина и когда всё это кончится 12 |
Удаление родителя текущего элемента на jQuery 0 |
Простой аккордеон на jQuery №3 0 |
Все мои клиенты получают первоначальное обучение и ежегодное обновление системы совершенно бесплатно.
Разделы → Статьи → Разработка сайтов → Создание простейшего слайдера для сайта
Итак, мы поставили себе целью сделать простейший слайдер для переключения контента на javascript, без использования jQuery. Сначала вопрос - почему без jQuery? Зачем так сурово? Ну, как минимум для этого есть несколько причин: 1. Использование jQuery предполагает, что нужно будет использовать библиотеку весом не менее 200 кб. А как мы убедимся немного ниже, ВЕСЬ наш конечный файл весит в 100 раз меньше. 2. Это быстрее работает. Следствие п.1 3. И в конечном итоге, в целях обучения. 1. Постановка задачи. 1.1. Создать слайдер, переключающий по кругу содержимое трёх элементов, заключенных в блок <div> 1.2. Детализация. Слайдер будет иметь 2 кнопки сверху и 1 окно вывода. При загрузке в окне вывода показывается элемент 1. Нажатие кнопки вправо должно активировать следующий элемент, если элементов больше нет - переходить к первому. Нажатие кнопки влево должно активировать предыдующий элемент, если элементов больше нет - переходить к последнему. 2. Решение. 2.1. Напишем "костяк" html файла. Это просто:
Предварительно найдите где-нибудь (или сделайте сами) стрелки влево и вправо. Вставим между тегами body наш слайдер:
Надо уменьшить их. Зададим внешнему блоку 700px ширины (width), добавим границу (border) и отступ (margin). У нас 3 одинаковых слайда, и мы не увидим, как они переключаются. Разукрасим их для наглядности разным цветом (background-color). Добавим стили в блок <head>:
Оформление есть. Но переключатель пока не работает - нет кода. 2.3. Код. 2.3.1. Напишем код обработчика. Добавим в <head>
2.3.3. Теперь навесим обработчик на кнопки "Налево" и "Направо". Для этого надо просто вызывать функцию show_slide при клике на картинки:
3. Доработка. Подгонка под систему управления. Что не нравится в этом коде, на первый взгляд? 3.1. Если использовать этот код в составе системы управления сайтом, доступ к тегам head и body будет затруднён. Значит, надо выносить яваскрипт из этих тегов. Вынесем код в конец страницы, чтобы он загружался после блока <div id="slider"> После закрытия последнего </div> добавляем:
<a href="#"> изменит адрес страницы, что недопустимо. Перепишем:
но работает под всеми браузерами. 3.3. Теги style при использовании системы управления тоже проблематично будет запихивать внутрь <head> Значит, их нужно запихнуть внутрь тегов <div> используемых слайдов. Кроме того, добавим границу вокруг слайдов и ограничим ширину слайда в 700px:
Пример того, что получилось: http://fromgomel.com/html/slider.html Заметьте - сам исполняемый код на javascript занимает всего около 15 строчек! Жду Ваших комментариев! |
||||||||||||||||||||||||
05.08.2010 19:47 | Автор/источник: Den1xxx |
Комментировать
Вы не залогинены! Регистрация
Комментарии
Гость |
10:54:16 09 Декабрь 2010 | |
|
admin |
07:26:55 25 Август 2010 | |
Что ж, будем продолжать. |
Гость |
13:11:13 22 Август 2010 | |
А как в этот слайдер эффекты добавить - ну там медленное возникновение следующего слайда, например? |
Устал читать? Напиши! Или позвони +375 29 5344286. На связи по будним дням с 800 до 1700.