Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение текста при наведении (https://javascript.ru/forum/jquery/48538-izmenenie-teksta-pri-navedenii.html)

xformer 07.07.2014 23:02

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

<span class="cvet_tovara">Орех</span>
<br>
<div class="img_tovara_1"><img src="/img/20a.jpg" width="38" height="38" alt="Орех" title="Орех"></div>
<div class="img_tovara_2"><img src="/img/19s.jpg" width="38" height="38" alt="Ольха" title="Ольха"></div>
<div class="img_tovara_3"><img src="/img/18d.jpg" width="38" height="38" alt="Кедр" title="Кедр"></div>

Таких блоков может быть 2, 3, 4, 5... Как видим, class="img_tovara_ тут цифра меняется".
Никак не могу сделать так, чтобы при наведении на определенный div в span изменялся текст с Орех на нужный, т.е. при наведении на второй блок изменялось на Ольха, при наведении на третий блок изменялось на Кедр и т.д.

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

WorM32 08.07.2014 09:35

1. Класс у элементов должен быть один, например, img_tovar
2. Название товара лучше положить в дата-атрибут, например, data-tovar.
3. Далее вешаешь событие mouseenter на элементы с классом img_tovar и в обработчике берешь у текущего элемента из дата-атрибута значение твоего товара и вставляешь в span.
4. PROFIT

Veterinar 11.07.2014 10:09

xformer, если текст с картинками формируется, например, PHP, то самое простое в каждый добавить:
onMouseOver="$('.cvet_tovara').text(this.attr('alt '))"
Только если элементов с классом cvet_tovara не один, то поменяется у всех. Чтобы от этого избавиться, лучше в нужный элемент добавить ID и обращаться по ID: $('#id1')


Часовой пояс GMT +3, время: 08:57.