設置一個容器,將overflow
設置爲hidden
並顯示要顯示的尺寸。然後添加你的形象,因爲這容器的孩子和動畫自己的立場:
HTML
<div id="container">
<img src="src_of/img.jpg" width="600" height="1200" />
</div>
CSS
#container {
position : relative;
width : 600px;
height : 200px;
overflow : hidden;
}
#container > img {
position : absolute;
top : 0;
left : 0;
}
JS
$(function() {
var $image = $('#container').children('img');
function animate_img() {
if ($image.css('top') == '0px') {
$image.animate({top: '-1000px'}, 2500, function() {
animate_img();
});
} else {
$image.animate({top: '0px'}, 2500, function() {
animate_img();
});
}
}
animate_img();
});
注意,我動畫的top
圖像的高度負的圖像減去容器的高度((conta iner.height() - image.height())* -1)。
這裏是上述解決方案的的jsfiddle:http://jsfiddle.net/J9BM8/1/
感謝您的快速回復。我如何讓它始終朝着同一個方向循環?所以它不會倒退到頂端,而是在它到達最後時從頭開始循環呢? – sostacked
瞭解它...添加了$ image.css('top','0px');在animate_img()之前;在第一個完整的功能。再次感謝! – sostacked
不客氣。請記住,您還可以以「三個」維度對圖像進行動畫處理。我做了一些與上述代碼非常接近的代碼,它以二維方式滾動,當它碰到特定的點時,它會改變圖像的高度/寬度以模擬放大。 – Jasper