Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ошибка с .html() (https://javascript.ru/forum/jquery/25931-oshibka-s-html.html)

Undefitied 20.02.2012 16:59

Ошибка с .html()
 
Вот простой код, с самого начала не могу найти ошибку:

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

Элемент в html:
<a class="test"><img src="images/top_menu/main_normal.png" width="67" height="27">



$(document).ready(function() {



$('.test').mouseover(function() {
$('.test').html('<img src="images/top_menu/main_linked.png" width="67" height="27">');
});

$('.test').mouseout(function() {
$('.test').html('<img src="images/top_menu/main_normal.png" width="67" height="27">');
});



}); //ready ends


Работает только mouseover. Обе по отдельности функции работают.

Undefitied 20.02.2012 17:23

Немного подумав решил, что браузер и так занят mouseover и по этому не смотрит на другие функции по поводу этого объекта.

Хотелось бы все-таки услышать грамотное объяснение и возможно совет по решению.

Спасибо.

Skipp 20.02.2012 17:59

<img src="http://www.google.ru/images/srpr/logo3w.png" onmouseover="this.src='http://img.yandex.net/i/www/logo.png'" onmouseout="this.src='http://www.google.ru/images/srpr/logo3w.png'" />

Undefitied 20.02.2012 20:54

Skipp,
Спасибо, но думаю лучше было бы разобраться в проблеме именно в jQuery, что бы было меньше вопросов в будущем.

Pavel M. 20.02.2012 22:26

лучше используйте .hover и меняйте src у картинки
<script class="jsbin" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script>
	$(function() {
		var el = $('a.test'),
			img = $('img', el);
			
		el.hover(
			function () {
			  img.attr('src', 'http://placehold.it/100/ff0000');
			},
			function () {
			  img.attr('src', 'http://placehold.it/100/00ff00');
			}
		);
	});
</script>
<a class="test"><img src="http://placehold.it/100/00ff00"></a>


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