Это странно. У меня есть анимация, которые запускаются когда я .hover на DIV. В это отделение у меня есть другой в положении, абсолютном, который я хочу переместить вплоть до мыши, остаются на основном отделении и понижаются в Вашем положении, когда я выхожу из основного отделения простой эффект при наведении курсора. Я имею, записывают эту функцию, которые работают хорошо независимо странная ошибка.
var inside = $('.inside')
inside.hover(function() {
$(this).children(".coll_base").stop().animate({
bottom:'+=30px'
},"slow")
}, function() {
$(this).children(".coll_base").stop().animate({
bottom:'-=30px'
},"slow");
});
мне нужно + =30 и - =30, потому что я должен применить эту функцию к диапазону отделения с другой нижней частью. Проблема состоит в том, что, если я толплюсь на и из отделения DIV анимационное право, но когда понижаются, он уменьшает значение нижней части каждая анимация. Если я иду вверх и вниз от основного отделения, я вижу, что анимированное отделение спускается даже вне основного отделения. Я думаю, что пропускаю что-то для разрешения этой ошибки. Спасибо за любую справку
Если дно
изначально не равно 0
, то вы можете сохранить начальное нижнее значение и использовать его во второй функции. (Если начальное нижнее
равно 0
, тогда просто используйте это.)
В приведенном ниже примере начальное нижнее
положение сохраняется с использованием ] data ()
для внутри
, затем он извлекается во втором обработчике для возврата в исходное положение.
Живой пример: http://jsfiddle.net/VAsZZ/
var inside = $('.inside');
inside.hover(
function() {
if(!inside.data('bottom')) {
inside.data('bottom',$(this).children(".coll_base").css('bottom'));
}
$(this).children(".coll_base").stop().animate({ bottom:'+=30px' },"slow")
},
function() {
$(this).children(".coll_base").stop().animate({bottom:$(this).data('bottom') },"slow");
}
);
Не думаю, что в данном случае можно использовать относительные значения (-=30px и +=30px), так как анимация может остановиться в любой произвольной точке, что приведет к сбрасыванию последующих анимаций. Лучше всего вызвать each() для сопоставленного набора, вычислить правильные смещения и передать значения непосредственно в функцию hover.