Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: hover() в jQuery
Форумы портала PHP.SU » Клиентская разработка » JavaScript & VBScript » hover() в jQuery

Страниц (1): [1]
 

1. webog - 09 Ноября, 2015 - 15:01:36 - перейти к сообщению
Привет!

Прошу помощи. Подскажите пожалуйста, как реализовать событие .hover() для одного и того же ID или класса.
Нужно при наведении на два блока выводить другой текст. (блоков может быть много, т.к. выводится с базы)

Сделал так:

CODE (javascript):
скопировать код в буфер обмена
  1. $('.error').hover(function() {
  2.     $('#anim').html('<a style="color:red;" href="/">Добавить</a>');
  3. },
  4.     function() {
  5.         $('#anim').html('Не добавлять');
  6. });


Но при:

CODE (html):
скопировать код в буфер обмена
  1.  
  2. <div id="anim" class="error">Не добавлять</div>
  3. <div id="anim" class="error">Не добавлять</div>


Срабатывает в одном блоке. Я думаю из-за одинаковых ID и классов.

Спасибо!
(Добавление)
CODE (javascript):
скопировать код в буфер обмена
  1. $('div').on({
  2.  
  3.    mouseenter: function () {
  4.  
  5.       //stuff to do
  6.  
  7.    },
  8.  
  9.    mouseleave: function () {
  10.  
  11.       //stuff to do
  12.  
  13.    }
  14. });


Такая конструкция ведет себя так же.
2. SAD - 09 Ноября, 2015 - 15:14:04 - перейти к сообщению
Цитата:
<div id="anim" class="error">Не добавлять</div>
<div id="anim" class="error">Не добавлять</div>


прям капитан очевидность. не должно быть двух одинаковых ID в DOM. используйте классы

CODE (html):
скопировать код в буфер обмена
  1. <div class="error">Не добавлять</div>
  2. <div class="error">Не добавлять</div>


CODE (javascript):
скопировать код в буфер обмена
  1. $('.error').hover(function() {
  2.     $(this).html('<a style="color:red;" href="/">Добавить</a>');
  3. },
  4.     function() {
  5.         $(this).html('Не добавлять');
  6. });
3. webog - 09 Ноября, 2015 - 15:17:24 - перейти к сообщению
SAD пишет:
прям капитан очевидность. не должно быть двух одинаковых ID в DOM. используйте классы


Дык и классы себя ведут так же. Улыбка
Может как то с родительскими классами?
(Добавление)
Update: А ну this это тема. Спасибо! А можно как сделать что бы блоки при наведении не меняли свой размер?
4. SAD - 09 Ноября, 2015 - 15:20:03 - перейти к сообщению
можно. css вам в помощь
5. webog - 09 Ноября, 2015 - 15:24:51 - перейти к сообщению
SAD пишет:
можно. css вам в помощь


Эм?..



Так?
6. SAD - 09 Ноября, 2015 - 15:26:37 - перейти к сообщению
Вы разработчик или где? Пробуйте. Ошиблись. Еще пробуйте.

 

Powered by ExBB FM 1.0 RC1