基本的に、ボックスの上に普通にホバーすると移動して元の位置に戻りますが、数回すばやくホバーするとボックスが後退して位置を失います。ありがとう!
また、現在の div 位置を取得する必要があるため$(this)
、ホバー時に使用します。
ここにコードがあります:http://jsfiddle.net/JdMqM/1/
html:
<div class="box_wrap">
<div class="box">
</div>
</div>
CSS:
.box_wrap {
width: 200px;
height: 200px;
border: 1px solid red;
position: relative;
margin: 10px;
}
.box {
top: 0;
left: 0;
background: green;
position: absolute;
width: 200px;
height: 200px;
}
js:
$('.box').hover(
function(){
var h = $(this).height();
var w = $(this).width();
var t = $(this).position().top;
var l = $(this).position().left;
$(this).animate({
'width': w + 20 + 'px',
'height': h + 20 + 'px',
'left': l + 20,
'top': t + 20
}, { duration: 200, queue: false });
},
function(){
var h = $(this).height();
var w = $(this).width();
var t = $(this).position().top;
var l = $(this).position().left;
$(this).animate({
'width': w - 20 + 'px',
'height': h - 20 + 'px',
'left': l - 20,
'top': t - 20
}, { duration: 200, queue: false });
}
);