Условия задачи и ограничения
А теперь, давайте, более подробно сформулируем условия задачи и введем ряд ограничений, которые упростят программирование. Баннерная система должна выполнять следующие функции:
- где-то хранить базу данных о баннерах
- случайно выбирать, из вышеупомянутой базы, несколько неповторяющихся баннеров
- обеспечивать механизмы отображения баннеров и перехода на нужную страничку при нажатии
Накладываем на эти условия некоторые ограничения:
- баннеры будут фиксированного размера, и храниться в формате GIF или JPEG
- на страничке мы будем одновременно показывать четыре баннера
Ну вот, условия и ограничения определены. Теперь, давайте, более подробно рассмотрим, каким образом лучше всего хранить баннеры. В качестве базы для хранения параметров баннеров мы воспользуемся обычным массивом. О каждом из баннеров нам будет необходимо хранить следующую информацию:
- имя файла
- альтернативный текст
- адрес странички, на которую ссылается баннер
Для удобства хранения и обновления базы баннеров, лучше всего выделить ее описание в отдельный файл и подключить при помощи механизма вставки внешнего js-файла. Это делается в секции заголовка при помощи следующей конструкции:
<script language="JavaScript" src="banners.js"></script>
А вот так, будет выглядеть содержимое файла banners.js
var banners = new Array(
"pic-01.gif", "Text #1", "http://www.link1.com/", "pic-02.gif", "Text #2", "http://www.link2.com/", "pic-03.gif", "Text #3", "http://www.link3.com/", "pic-04.gif", "Text #4", "http://www.link4.com/", "pic-05.gif", "Text #5", "http://www.link5.com/", "pic-06.gif", "Text #6", "http://www.link6.com/", "pic-07.gif", "Text #7", "http://www.link7.com/", "pic-08.gif", "Text #8", "http://www.link8.com/", "pic-09.gif", "Text #9", "http://www.link9.com/", "pic-10.gif", "Text #10", "http://www.link10.com/" )
Как видите, структура массива не очень сложна. Под каждый баннер отводится три последовательные ячейки, в которых и хранятся: имя файла, альтернативный текст, адрес ссылки.