Ошибка: Failed to parse the Currency Converter XML document.
$15 622.91


Ошибка: Failed to parse the Currency Converter XML document.
$53 869.69


Ошибка: Failed to parse the Currency Converter XML document.
$1 267.61


Предварительная загрузка рисунков (preload) и перекат (rollover)

Если у вас есть серия изображений для предзагрузки, то вы можете воспользоваться функцией preLoad, которую я написал для подобных ситуаций, которая проста в работе и не требует каких-либо модификаций для работы функции переката (rollover).

function preLoad()
{
if(document.images)
{
var argLen = arguments.length;
for(var i = 0; i < argLen; i++)
{
var arg = arguments[i];
var sufLen = suffix.length;
     for(j = 0; j > sufLen; j++)
{
var suf = suffix[j]
self[arg + «_» + suf] = new Image();
self[arg + «_» + suf].src = iPath + arg + «_» + suf + «.» + iExt;

}
}
loaded = true;
}
}

Первая переменная, – iPath, – указывает путь к каталогу, который содержит изображения. Путь может быть абсолютный, относительный или указанный относительно корневой директории.

Вторая переменная, – iExt, – является расширением файла всех изображений. Около 99% времени мы тратим на загрузку изображений, которые формируют навигационную панель или используются в подобных целях. Вероятнее всего, расширение всех файлов будет одинаковым для всех изображений. В случае необходимости, лишь минимум усилий необходимо будет для изменения этого расширения.


Третья переменная, loaded, содержит булевское значение, которое указывает, действительно ли функция preLoad () вызвана , и изображения были загружены. Без этого, ваши изображения, которые вы используете в функции rollOver () не будет существовать, и если пользователь наведет курсор мыши на такую картинку до завершения загрузки страницы, вы получите сообщение об ошибке. Проверяя значения загруженной переменной в функции rollOver (), мы предотвращаем появление этой ошибки.

Четвертая переменная, suffix, фактически является массивом. В нем определяется префикс, который добавится к имени изображения, чтобы обозначить состояние, в котором изображение находится. Для моей задачи достаточно двух префиксов-on и off. Если вам для загрузки требуется более, чем два префикса, достаточно просто добавить общее количество состояний, в которых Вы нуждаетесь.

Что бы заставить это все работать, осталось сделать последний шаг-загрузить изображения. Вы можете сделать это несколькими путями. Единственное, что надо сделать-это составить список имен изображений для функции preLoad (), используемый как аргумент, для всех изображений, которые вам необходимо загрузить. Так, если необходимо загрузить изображения about, product, order, contact, и faq с префиксами on и off, то возможны следующие варианты:
Вызов функции preLoad () через обработчик события onLoad
<body onLoad=«preLoad(«about»,«product»,«order»,«contact»,«faq»)»>
Вызов функции через обработчик события window.onload в пределах блока <script>, вызывающего функцию preLoad ().
function onLoad()
{
preLoad(«about», «product», «order», «contact», «faq»);
}
window.onload = onLoad;
Вызов функции preLoad () через обработчик события onLoad для каждого изображения, к которому будет применена функция rollOver.
<a href=«about.html»
onMouseover=«rollOver(«about», «on»)»
onMouseout=«rollOver(«about», «off»)»>
<img name=«about» src=«images/about_off.gif»
onLoad=«preLoad(this.name)» height=«25»
width=«75» border=«0» alt=«About»></a>

Примечание: вышеупомянутый блок кода с функцией preLoad () предзагрузит файлы с префиксами on и off только для изображения about. Никакие другие изображения, нуждающиеся в предзагрузке, загружены не будут. Фокус состоит в том, чтобы добавить функцию preLoad (this.name) к каждому объекту, имеющему перекат (rollover), и следовательно нуждающемуся в предзагрузке изображений, связанных с ним.

Теперь, для того чтобы увидеть, как будет работать этот способ предзагрузки по сравнению со старым, приведем пример использования старого метода для тех же пяти ссылок, указанных выше.
if(document.images)
{
about_on = new Image();
about_on.src = «images/about_on.gif»;
about_off = new Image();
about_off.src = «images/about_off.gif»;
product_on = new Image();
product_on.src = «images/product_on.gif»;
product_off = new Image();
product_off.src = «images/product_off.gif»;
order_on = new Image();
order_on.src = «images/order_on.gif»;
order_off = new Image();
order_off.src = «images/order_off.gif»;
contact_on = new Image();
contact_on.src = «images/contact_on.gif»;
contact_off = new Image();
contact_off.src = «images/contact_off.gif»;
faq_on = new Image();
faq_on.src = «images/faq_on.gif»;
faq_off = new Image();
faq_off.src = «images/faq_off.gif»;
}

Сравнив этот метод с вышеупомянутым и увидев, насколько просто можно обеспечить предзагрузку всех изображений с необходимыми префиксами, я уверен, что вы поймете преимущество использования функции preLoad ().

Приведем пример функции rollOver ():
function rollOver(iName, iState)
{
if(document.images && loaded)
    {
    document.images[iName].src = self[iName + «_» + iState].src;
    }
}

Вызвать эту функцию можно из html-документа:
<a href=«about.html» onMouseover=«rollOver(«about», «on»)»
onMouseout=«rollOver(«about», «off»)»>
<img name=«about» src=«images/about_off.gif»
height=«25» width=«75» border=«0» alt=«About»></a>

Есть три важных детали, которые следует отметить при рассмотрении вышеуказанного кода.

Атрибут name изображения такое же, как одно из значений, используемых функцией preLoad ().

Это то же значение используется как аргумент iName (первый параметр) функции rollOver ().

Инициируемое изображение должно иметь префикс off.

 

Интересное

Как появляется файловый...
Почему на жестком диске появляется множество ненужных данных? Причин существует множество, но в своем большинстве ненужные файлы являются результатом некорректной, не правильной работы разных...
Подробнее...
Копирование и удаление...
Попробуем осуществить копирование файла по частям. Узнаем о том, как удалять непустые каталоги с подкаталогами, а так же еще много полезной информации.В самом простом случае вопрос копирования...
Подробнее...
Сжатие данных на PHP
Многие броузеры поддержывают gzip сжатые файлы в «прозрачном» для пользователя режиме.Для текстовых файлов (html страниц) коефициент сжатия этим методом составляет 0.2-0.3, т.е. данные сжимаются в...
Подробнее...
Полезные возможности...
Утилита Windows XP «Восстановление системы» (System Restore) позволяет возвращать последнюю удачную конфигурацию системы в случае возникновения различных проблем. Для этого утилита постоянно...
Подробнее...
Раскрутка это еще и заработок
Странно. Но многие вебмастера разделяют понятия раскрутка и заработок. Т.е. все понимают, что если ресурс будет раскручен, с него можно будет и деньги получить.Но вот, к сожалению, почему-то почти...
Подробнее...
Установка и настройка...
1. Сохранение настроек пользователя при миграции с более ранней версии системыДля того, чтобы пользователи могли продолжать работать на вновь установленной системе без каких-либо неудобств,...
Подробнее...
Примеры подключения...
Данный материал содержит примеры создания строк ado connection для различных типов часто используемых Баз Данных, например: odbc dsn, odbc dsn-less, ole db provider, ms remote, oracle, excel,...
Подробнее...
100 компьютерных фактов
Когда я был мелким карапузом, я любил читать все подряд. Особенный интерес у меня вызывали книжки из серии «Хочу все знать», так как я мечтал стать межгалактическим диктатором, а для этого...
Подробнее...
Oпасное возвращение червя...
RogueMario.A — это червь, который демонстрирует базовую версию широко известной игры Super Mario. Он делает это для того, чтобы скрыть свою вредоносную деятельность. «Представьте, что...
Подробнее...
Компьютеры для офиса
На сегодняшний день компьютеры стали самой естественной и неотъемлемой частью жизни практически для каждого современного человека. Это очень удобно при ведении бизнеса, как маленькой фирмы, так и...
Подробнее...