Я пишу этот плагин для сайта, и это одна вещь действительно меня беспокоит. Что это:
http://pixelmatrixdesign.com/work/detail/silicon_florist/
То, что вы видите справа, за исключением того, что оно активируется посредством mouseenter и сбрасывается при mouseout:
$this.css({position:'relative'}).wrap('<div class="img_mask"></div>')
.parent().bind('mouseenter',function(){
$img = $(this).find('img')
_movement_amt = $img.height()-$(this).height();
if($img.css('top')!=='auto' && $img.css('top') !== '0px'){
_movement_amt = _movement_amt+parseInt($img.css('top').split('px')[0]);
}
$(this).find('img').animate({top:'-='+_movement_amt+'px'},3000,'linear')
}).bind('mouseleave',function(){
$(this).find('img').animate({top:'0'},1000);
});
Это пример кода. Проблема в том, что, когда вы наводите курсор сверху, позволяете ему прокручивать 500 из 1000 пикселей, а затем снова парите, это медленная анимация, которая является правильной ... потому что теперь нужно только пройти еще 500 пикселей за то же время (3 секунды) это было с 1000px. Я пытался использовать .stop()
, но я не уверен, как снова запустить анимацию при наведении курсора?