高さ500px、幅50pxのjpgがあります。これは 10 個の 50px x 50px の正方形で構成され、それぞれに 1 から 10 までの数字 (画像の上部に 1、下部に 10) が含まれます。(jpg はこちら: http://i39.tinypic.com/mmq4x5.jpg )
次に、オーバーフローが非表示に設定されたページに 50x50 のコンテナー div があります。この中に、前述の画像を背景として含む高さ 500 x 幅 50 の div があります。
訪問者が div をクリックするたびに、jquery animate を使用して内側の div を 50 ピクセル上にスクロールします (内側の div の CSS の上部から 50 ピクセルを削除します)。これにより、スムーズなスクロール カウンターの効果が得られます。
10に達したときに1にスムーズにスクロールできるようにする方法がわからないことを除けば、すべてうまく機能します(IE:divが10をクリックすると、数字の10が上にスクロールして置き換えられるようにラップアラウンドします上にスクロールするグラフィックの上から番号 1)。一番上の位置をテストできることはわかっています。正しい場所にある場合は、0pxにリセットするだけですが、ラップアラウンドではなく、1に「ジャンプ」します。jpg の長さを逆にスクロールして 1 に戻ることもできますが、それは私が望む効果ではありません。1 から 10 へ、そして再び 1 へと続く連続したカウンターのように見せたいのです。
ここに jsFiddle があります: http://jsfiddle.net/ChrisJones/zTBYe/2/
誰でもこれを行う方法を考えられますか???
参考までに、完全なコードは次のとおりです。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<style type="text/css">
#slider{
width:50px;
height:500px;
background: url(numstrip.jpg) no-repeat;
position:relative;
top:0px;
}
#wrapper{
width:50px;
height:50px;
position:fixed;
overflow:hidden;
}
</style>
</head>
<body>
Div is below
<br>
<br>
<div id="wrapper">
<div id="slider"></div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#slider').click(function () {
topPos = parseInt($(this).css("top")) - 50;
$(this).animate({
'top': topPos
}, 200);
});
});
</script>
</body>
</html>