Компьютерная документация и статьи о Windows. Оптимизация Windows.

Поиск

  Здравствуйте  [ Новый пользователь ] Главная  .  Статьи по темам  .  Скачать документацию  .  Личный кабинет  .  Добавить статью  .  Toп 10  .  Карта сайта  

  Навигация

    Главная
    Темы новостей
    Топ 10
    Архив новостей
    Рассылка новостей
    Каталог файлов
    Карта сайта
    Каталог ссылок
    Добавить статью
   Личный кабинет
    Пользователи
    Поиск
    Написать нам
    Тест скорости
    Конструктор
    Интересные книги
    Форум
    Это интересно
    RSS канал


  Наши темы
Windows 7
Windows Vista
Windows XP
Настройка Windows
Реестр Windows
Восстановление системы
MS-DOS
BIOS
Интернет
Microsoft Office
Сетевые настройки
Обработка видео
Вебмастеру
Разное о Windows
Обзор софта

  Рекомендуем

INAttack.RU :: Архив документации для хакера

СЕТЕВАЯ ПЕРЕГРУЗКА

Бесплатный каталог драйверов и
прошивок


  Подписка на рассылку
Ваш E-mail:

Тип подписки:

Формат подписки:


Реклама в интернет:::Все Кулички

Смена картинки при наведении мыши

Разместил 29/01/2007 от Vivaldis

Вебмастеру Автор: Алексей Голубев
Сайт: http://www.frnet.narod.ru/
Итак, наша задача – создать скрипт, который бы менял картинку при наведении на нее курсора мыши. Это достаточно стандартная задача и каждый ее решает по-разному. Если у вас есть скрипт, решающий данную проблему, то не спешите закрывать данную статью, так как я предлагаю вам, на мой взгляд, самый оптимальный пример данной программы.


С чего начнем?


Первое, с чего нужно начать – это подготовка рисунков. Для этого вы должны создать два рисунка: первый рисунок – это изображение кнопки в обычном состоянии, без курсора мыши над ним, назовем его image.gif, хотя название можете дать любое; второй – это изображение кнопки в момент, когда над ним находится курсор мыши, назовем его image2.gif. В любом случае вы должны к названию второго изображения прибавлять перед расширением «2» – это одно из условий работы скрипта.


Функция смены картинки при наведении мыши.


Мы приготовили несколько пар рисунков. Если вы создаете целую панель из картинок, то имеет смысл написать универсальную функцию, не привязанную к какому-то конкретному объекту. Этим мы сейчас займемся.

Как же мы можем обойтись при создании ролловера без предварительной загрузки картинок. В нашем случае она будет выглядеть так:

var img1=new Image(); img1.src="article.gif";
var img2=new Image(); img1.src="article2.gif";
var img3=new Image(); img1.src="script.gif";
var img4=new Image(); img1.src="script2.gif";
var img5=new Image(); img1.src="more.gif";
var img6=new Image(); img1.src="more2.gif";

По аналогии добавить ваши собственные картинки.

Далее сам функция, во первых она должна определить источник события. Для этого мы будем использовать свойство объекта window.event – srcElement. В последующем нам придется часто обращаться к нему, поэтому первой строкой запишем присваивание его переменной, например, a:

var a=windows.event.srcElement;
Так как событие onMouseOver вызывается не только элементом , то мы выполним проверку: вызывается ли оно нужным элементом. Если да, то функция продолжает выполняться:

if (a.tagName=="IMG")
Далее идет непосредственная смена картинки:

a.src=a.src.substring(0, a.src.length-4) + 2+a.src.substring(a.src.length-4, a.src.length);
Что же делает эта строка? Она читает свойство src, которое вы указали при вставке картинки в HTML-документ, при помощи тега . Вырезает первые n-4 символа, где n – длина строки a.src. Добавляет к вырезанному свойству «2» и расширение с точкой (четыре последних символа строки a.src).

Осталось только дать название функции. Назовем ее change1()

Полный код функции:

function change1() { a=windows.event.srcElement;
if (a.tagName=="IMG")

a.src=a.src.substring(0, a.src.length-4) + 2+a.src.substring(a.src.length-4, a.src.length); }


Возврат картинки.


Я думаю, что нет необходимости расписывать работу функции, поэтому приведу лишь ее код:

function change2() { i a=window.event.srcElement;
if (a.tagName=="IMG")

a.src=a.src.substring(0, a.src.length-5) +

a.src.substring(a.src.length-4, a.src.length);

}


Присваивание функций событиям.


Для работы функций нужно связать их имена с событиями следующим образом:

do*****ent.onmouseover=change1;
do*****ent.onmouseout=change2;

Обратите внимание на отсутствие скобок после имен функций! Если скобки поставить, то это приведет к немедленному вызову функций, а нам нужно всего лишь связать их имена с соответствующими событиями.

И вставляем в теле вывод картинок, например:

Статьи на http://www.frnet.narod.ru/

Скрипты на http://www.frnet.narod.ru/

Перейти на http://www.frnet.narod.ru/



Заключение.


Теперь можете добавлять сколько угодно картинок на страницу, не загромождая ее большим количеством повторяющегося кода. Перспективные улучшения:

1) Проверка, а нужно ли изменять картинку;

2) Изменение картинки при нажатии на нее мышью (onMouseDown).

P.S. Вы можете cкачать этот пример со страницы: http://www.frnet.narod.ru/script.html.
Или задать вопрос автору и ведущему раздела alexey-golubev@mail.ru


|
 
  Логин
Логин

Пароль

Не зарегистрировались? Вы можете сделать это, нажав здесь. Когда Вы зарегистрируетесь, Вы получите полный доступ ко всем разделам сайта.

  Связанные ссылки
· Больше про Вебмастеру
· Новость от Vivaldis


Самая читаемая статья: Вебмастеру:
Коды ошибки http веб-сервера


  Рейтинг статьи
Средняя оценка: 1
Ответов: 1


Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо



  опции

 Напечатать текущую страницу  Напечатать текущую страницу

 Отправить статью другу  Отправить статью другу


Яндекс цитирования Rambler's Top100 Рассылка 'Собрание документации по Windows , программное обеспечение' Content.Mail.Ru Maillist.ru: Компьютерная документация по настройке Windows
PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
The Russian localization - project Rus-PhpNuke.com
Открытие страницы: 0.370 секунды и 20 запросов к базе данных