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

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

15.07.2012, 23:26. Показов 13978. Ответов 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,531
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,531
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
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru