Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/76: Рейтинг темы: голосов - 76, средняя оценка - 4.79
0 / 0 / 1
Регистрация: 15.07.2012
Сообщений: 11

Смена картинок при наведении курсора

15.07.2012, 23:26. Показов 13928. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Подскажите, как можно сделать так, чтобы картинки менялись при наведении курсора. Только не две картинки, а много. То есть навел на картинку курсор, она сменилась, потом сменилась на другую и так далее... и как только убрали курсор, должна появиться первоначальная картинка. нашел вот такой код:
HTML5
1
<a href="#"    onmouseover="document.myImage2.src='img2.gif'"    onmouseout="document.myImage2.src='img1.gif'"> <img src="img1.gif" name="myImage2" width=160 height=50 border=0></a>
но тут можно только с двумя картинками, а нужно, чтобы было неограниченное количество картинок
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.07.2012, 23:26
Ответы с готовыми решениями:

Смена картинок при наведении курсора
Народ, прошу сильно не ругайте меня, я всего третий день осваиваю javascript. помогите разобраться. Мне нужно, чтобы при наведении...

Смена курсора при наведении
Есть код на jQuery, создающий простой спойлер на странице. Недостаток в том, что при наведении на текст, который раскрывает спойлер, курсор...

Смена картинок при наведении
Здравствуйте. Исходя из названия темы, вы уже поняли, что я мучаюсь со сменой картинок, вот, нашел на просторах этого же форума такой вот...

6
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
16.07.2012, 05:10
1. Раз есть "сначала" и "потом", то, значит, между ними имеется какой-то промежуток времени.
И, значит, нужен таймер, по которому и будут сменяться картинки.

2. Конкретная реализация зависит от того - как именно у вас будут поименованы те самые картинки, которых у вас "неограниченное количество".
И также зависит от того - что вы пожелаете делать, когда это самое "неограниченное количество" всё же закончится. Например, наведёт пользователь мышь на ссылку, да и уедет в командировку на месяц. И что в этом случае делать?
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
16.07.2012, 08:50
Как вариант.
HTML5
1
<a name="#" id="multiImg"><img src="pics/avant48.gif" alt=""></a>
CSS
1
#multiImg img {width:160px; height:50px; border=0;}
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
(function(){
var d, allSrc, len, obj, ind, stop;
d=document;
allSrc=['pics/avant48.gif', 'pics/chrome48.gif', 'pics/firefox48.gif', 'pics/ie48.gif', 'pics/navigator48.gif', 'pics/nichrom48.gif', 'pics/opera48.gif', 'pics/safari48.gif', 'pics/yandex48.gif'];
len=allSrc.length;
ind=0;
 
onload=function(){
var el=d.getElementById("multiImg");
obj=el.getElementsByTagName("img")[0];
el.onmouseover=over;
el.onmouseout=out;
 };
 
function over(){
ind=ind+1==len?0:ind+1;
obj.src=allSrc[ind];
stop=setTimeout(over, 500);
 
 };
 
function out(){
clearTimeout(stop);
obj.src=allSrc[0];
 };
 
 })();
Если есть возможность переименовать файлы, то можно скрипт упростить.
0
0 / 0 / 1
Регистрация: 15.07.2012
Сообщений: 11
16.07.2012, 09:36  [ТС]
да. код рабочий. но почему-то картинки выводятся рандомно. хотелось бы всегда чтобы был 1 порядок вывода картинок. и еще прокрутка очень быстрая. мне бы совсем чуть-чуть по-медленнее. вот дали код по-проще (как мне кажется), но тут скорость уж очень медленная, надо бы по-быстрее. и еще минус, что подключается js файл
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
 
<script>    
    $(document).ready(function() {
        var iid;    
        var imgSrc = ["1.jpg", "2.jpg", "3.jpg"];
        var curImg = 0;             
        
        $("#display").bind('mouseover', function() {            
            iid = setInterval(function() {              
                curImg < imgSrc.length-1 ? ++curImg : curImg = 0;               
                $("#display").attr("src", imgSrc[curImg]);                              
            }, 1800);                   
        });
        
        $("#display").bind('mouseout', function() { clearInterval(iid); curImg = 0; this.src=imgSrc[0]});               
    });
</script>
</head>
<body> 
    
<img width="400px" id="display" src="1.jpg"/><br/>
</body> 
</html>
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
16.07.2012, 21:38
Цитата Сообщение от hosts Посмотреть сообщение
и еще прокрутка очень быстрая. мне бы совсем чуть-чуть по-медленнее.
500 это пол секунды, 1000 это одна секунда, измени время как надо.
JavaScript
1
stop=setTimeout(over, 500);

Цитата Сообщение от hosts Посмотреть сообщение
да. код рабочий. но почему-то картинки выводятся рандомно. хотелось бы всегда чтобы был 1 порядок вывода картинок.
Не сразу понял о чем речь, вот так исправь
JavaScript
1
2
3
4
5
function out(){
clearTimeout(stop);
ind=0;
obj.src=allSrc[0];
 };

Цитата Сообщение от hosts Посмотреть сообщение
и еще минус, что подключается js файл
Ага, несколько десятков килобайт балласта, ну зато несколько строк самого скрипта сэкономил, здорово.


Цитата Сообщение от hosts Посмотреть сообщение
скорость уж очень медленная
вот оно время, регулируй.
JavaScript
1
}, 1800);
0
0 / 0 / 1
Регистрация: 15.07.2012
Сообщений: 11
17.07.2012, 10:39  [ТС]
с теми кодами в dle проблемы. поэтому начал искать другой код. нашел вот такой код. отлично работает на dle. но нужна ваша помощь. картинки меняются только если курсор убрать с картинки и опять навести. можно ли переделать его ?
HTML5
1
2
3
4
<img style="height: 200px; border: 1px solid red"
     src="http://www.kolobok.us/smiles/artists/big/Connie_something-smells.gif"
 lang="http://www.kolobok.us/smiles/artists/big/Viannen_loungelizard.gif|http://www.kolobok.us/smiles/artists/big/Connie_yo-yo.gif"
     onmouseover="with (this) {p = lang.split ('|'); lang = p [1] + '|' + src; src = p [0]}">
0
switchweb
01.10.2013, 21:40
Чудесный скрипт и все работает, огромное спасибо. Но у меня задача - на странице несколько блоков с картинками (6 штук), и при наведении на каждый блок должны меняться по три разных картинки, и так у всех шести блоков. Этот скрипт работает только с одним блоком. Кто может помочь его модифицировать?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2013, 21:40
Помогаю со студенческими работами здесь

Смена картинок при наведении на ссылку
Доброго времени суток. Есть такой скрипт: &lt;script&gt; function not(){ ...

Смена нескольких картинок при наведении
Ребят выручайте! Не могу придумать как сделать смену нескольких картинок при наведении. А именно: При наведении на картинку (А), она...

Смена изображения при наведении курсора на ссылку
есть кусок кода: &lt;img src=li.gif&gt;&lt;a href=one.htm&gt;ONE&lt;/a&gt; &lt;img src=li.gif&gt;&lt;a href=two.htm&gt;TWO&lt;/a&gt; &lt;img src=li.gif&gt;&lt;a...

Смена картинок по очереди при каждом наведении мышки
Добрый день! У меня следующая проблема. Есть ссылка в виде кнопки. Есть 3 картинки. При наведении мышки на кнопку на кнопке должна...

Смена фона при наведении курсора мыши на ячейку таблицы
Создать функцию, которая будет изменять фон слоя в соответствии с фоном ячейки при наведении курсора мыши на ячейку таблицы. В качестве...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru