Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Мыкает действие mouseout (https://javascript.ru/forum/dom-window/11058-mykaet-dejjstvie-mouseout.html)

tazododu 04.08.2010 17:33

Мыкает действие mouseout
 
всем привет!
необходимо сделать увеличение картинки при заведении на нее мышкой и при отведении снова уменьшать(менять картинки с разным разрешением) задача тривиальная. написал следующее:
$(".pic_pp_border").hover(function(){
	var name = $(this).attr('id');
	var pic_url = '<img src="http://zakupka-images.s3.amazonaws.com/m_' + name + '.jpg" />';
			  $(this).css("position","absolute").css("width","200px").css("height","200px");
	$(this).html(pic_url);
})
		
$(".pic_pp_border").mouseout(function(){
	var name = $(this).attr('id');
	var pic_url = '<img src="http://zakupka-images.s3.amazonaws.com/s_' + name + '.jpg" />';
			$(this).css("position","static").css("width","100px").css("height","100px");
	$(this).html(pic_url);
})

но столкнулся вот с какой проблемой:
когда наводишь на картинку она начинает туда-сюда непрерывно увеличиваться и уменьшаться... что посоветуете чтобы этого избежать?

JsLoveR 04.08.2010 19:20

tazododu,
$(".pic_pp_border").hover(function(){
    var name = $(this).attr('id');
    var pic_url = '<img src="http://zakupka-images.s3.amazonaws.com/m_' + name + '.jpg" />';
              $(this).css("position","absolute").css("width","200px").css("height","200px");
    $(this).html(pic_url);
},
         
function(){
    var name = $(this).attr('id');
    var pic_url = '<img src="http://zakupka-images.s3.amazonaws.com/s_' + name + '.jpg" />';
            $(this).css("position","static").css("width","100px").css("height","100px");
    $(this).html(pic_url);
})

float 04.08.2010 22:00

Цитата:

что посоветуете
Почитать в документации Jquery про hover...

tazododu 05.08.2010 09:42

JsLoveR - большое спасибо за помощь в решении!!
float - тут вы правы, прочитал и сразу все стало ясно)

tazododu 05.08.2010 16:05

ребят, еще вопрос, когда проводишь слишком быстро картинка увеличивается, но не уменьшается, что посоветуете?

tazododu 06.08.2010 15:40

кому интересно в мозиле есть баг - при переходе границы элементов может всплывать аут

Kolyaj 06.08.2010 15:51

Это не баг и это во всех браузерах.

tazododu 06.08.2010 16:10

гм...проверял в Opera 10.60 все работает четко,
в Хроме та же беда, что в ФФ...
читал, что надо писать функции с таймером: на аут ставить таймер, а на овер - отменять. но так и не въехал как это сделать. вы мне не поможете?

tazododu 06.08.2010 17:45

проблема решена, сделал так
сделал так
$(".product_pic").hover(
	function(){
		var name = $(this).attr('id');
		var pic_src = 'http://zakupka-images.s3.amazonaws.com/m_' + name + '.jpg';
		$(this).find("img").attr("src",pic_src);
	},
	function(){
		var name = $(this).attr('id');
		var pic_src = 'http://zakupka-images.s3.amazonaws.com/s_' + name + '.jpg';
		$(this).find("img").attr("src",pic_src);
	}
);

и все стало ГУД!


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