以下代码在 ie8 64bit 版本的动画过程中会产生一些伪影。它似乎在 32 位版本中运行良好。
我制作了一个小屏幕截图视频来展示发生了什么:
http://www.youtube.com/watch?v=MKeeWv5DqK0
一些想法?
$(document).ready(function () {
$('.product').each(function () {
//$(this).children().animate({'top' : '150px', 'left' : '300px'}, 500);
$(this).hover(
function () {
$(this).children().animate({
'left': '210px'
}, {
queue: false
}, 500)
},
function () {
$(this).children().animate({
'left': '0px'
}, {
queue: false
}, 500)
});
});
});
#wrapper {
width: 800px;
height: 420px;
padding: 30px;
border: 1px solid #999;
background-color: #ddd;
margin: 0 auto;
margin-top: 100px;
}
.product {
position: relative;
width: 206px;
height: 150px;
background-color: #0FC;
float: left;
margin: 30px;
}
.product_cover {
position: absolute;
top: 0;
left: 0;
background-color: #F63;
width: 100%;
height: 100%;
}
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<div id="wrapper">
<div class="product">
<div class="product_cover"></div>
</div>
<div class="product">
<div class="product_cover"></div>
</div>
<div class="product">
<div class="product_cover"></div>
</div>
<div class="product">
<div class="product_cover"></div>
</div>
<div class="product">
<div class="product_cover"></div>
</div>
<div class="product">
<div class="product_cover"></div>
</div>
</div>