[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: hover
HErATuB
Добрый день. Опасение: при наведение на картинку я читаю ширину и высоту в глобальную перемененную, и посредством анимации увеличиваю размеры картинки. при с момента ухода с элемента к исходным ширение и высоте.
Собственно проблема в то что при быстром уведения и наведения на поле он читает новые данные а не старые. Как можно решить это?

var zoomImgWidth = 0;
var zoomImgHeight = 0;
$(function(){
$('.zoomImg').hover(function(){
$(this).stop().animate({width:"230px",height:"230px",left:"-50%",top:"-50%"}, 400);
window.zoomImgWidth = $(this).attr("width");
window.zoomImgHeight = $(this).attr("height");
$(this).css({'position':'absolute','z-index':1000,'-moz-box-shadow':'0 0 30px rgba(0,0,0,0.9)','-webkit-box-shadow':'0 0 30px rgba(0,0,0,0.9)','box-shadow':'0 0 30px rgba(0,0,0,0.9)'});
},
function(){
$(this).stop().animate({width:window.zoomImgWidth+"px",height:window.zoomImgHeight+"px",left:"0",top:"0"}, 400, function(){
$(this).css({'position':'static','z-index':0});
});


});
});




Спустя 5 часов, 51 минута, 8 секунд (18.04.2012 - 21:03) redreem написал(а):
непонятно зачем делать обертку для ховера.

попробуй так:

zoomImg = {w:false, h:false};

$('.zoomImg').hover(function(){

if (zoomImg.w !== false) return;

zoomImg.w = $(this).attr("width");
zoomImg.h = $(this).attr("height");

$(this).animate({width:"230px",height:"230px",left:"-50%",top:"-50%"}, 400, );
$(this).css({position:'absolute', zIndex:1000, '-moz-box-shadow':'0 0 30px rgba(0,0,0,0.9)', '-webkit-box-shadow': '0 0 30px rgba(0,0,0,0.9)', 'box-shadow':'0 0 30px rgba(0,0,0,0.9)'});

},

function() {

if (zoomImg.w === false) return;

$(this).animate({width:zoomImg.w, height:zoomImg.h, left:0, top:0}, 400, function(){

zoomImg = {w:false, h:false};

$(this).css({'position':'static','z-index':0});

});


}
);

Спустя 1 час, 19 минут, 42 секунды (18.04.2012 - 22:22) HErATuB написал(а):
такая же ошибка sad.gif

Спустя 4 минуты, 38 секунд (18.04.2012 - 22:27) redreem написал(а):
ну выложи код куданить. че гадать-то. всмысле "работающую страничку на какой-нибудь хостинг".

Спустя 1 минута, 44 секунды (18.04.2012 - 22:29) HErATuB написал(а):

Спустя 24 минуты, 31 секунда (18.04.2012 - 22:53) redreem написал(а):
так попробуй:

zoomImg = {w:0, h:0};

hoverAction = false;

$('.zoomImg').hover(function(){

if (hoverAction !== false) return;

hoverAction = true;

zoomImg.w = $(this).attr("width");
zoomImg.h = $(this).attr("height");

$(this).animate({width:"230px",height:"230px",left:"-50%",top:"-50%"}, 400, function() {

hoverAction = false;

});

$(this).css({position:'absolute', zIndex:1000, '-moz-box-shadow':'0 0 30px rgba(0,0,0,0.9)', '-webkit-box-shadow': '0 0 30px rgba(0,0,0,0.9)', 'box-shadow':'0 0 30px rgba(0,0,0,0.9)'});

},

function() {

if (hoverAction !== false) return;

hoverAction = true;

$(this).animate({width:zoomImg.w, height:zoomImg.h, left:0, top:0}, 400, function(){

$(this).css({'position':'static','z-index':0});

hoverAction = false;

});


}
);

Спустя 14 минут, 47 секунд (18.04.2012 - 23:08) HErATuB написал(а):
тоже самое sad.gif
ладно спасибо за отклик, сам попробую что нибудь завтра rolleyes.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.