2

jqueryでjavascriptを使用して、divに無限にスクロールする画像を作成しようとしています。私が使用しているコードは、フィドルHEREで見ることができます。

これは現在のブラウザーでは機能しますが、IE7 では失敗します。私の推測では、負の css 値を割り当てることと関係があると思いますが、まだ解決策を見つけていません。誰かが ie7 のクロムで見られる動作を取得する方法を知っていますか?

助けてくれてありがとう。

編集:画像を垂直に下にスクロールすると、クロスブラウザーで動作する効果が得られました。ここで見ることができます。

編集 2: 水平方向に動作するようになりましたが、右にしか移動しません。マイナス方向の値が嫌いなようです。ここで見ることができます。

4

4 に答える 4

2

IE7 は「左」プロパティの整数値のみをサポートしていると思います!

関数を次のように変更します。

$(function(){
reelDivs($('.reel div'), 'left', 500, -500, -1, 30);
});
于 2012-08-06T14:36:09.860 に答える
0

リールdivにIDを配置し、使用する代わりに$('.reel div')IDを使用します。IE7はをサポートしていないと確信していgetElementsByClassNameます。

使用する$('.reel div')ときは、jQueryにgetElementsByClassNameを使用するように指示しています。

于 2012-08-06T14:38:19.033 に答える
0

CSS を次のように変更して、試してみてください。

.reel
{
    position: relative;
    top: 50px;
    left: 50px;
    width: 250px;
    height: 500px;
    overflow: hidden;
}

.reel div
{
    position: absolute;
    left: 0px;
    height: 362px;
    width: 500px;
    background: url("http://www.deviantart.com/download/258376230/husky_puppy_by_blackdelive-d49twdi.png") no-repeat 0px top;
}

.reel div.b
{
    left: 500px;
}

jsFiddle: http://jsfiddle.net/eGnMX/

神速!

于 2012-08-06T14:37:05.757 に答える
0

モニターがレンダリングできる最小サイズがピクセルであることを考えると、画像を 0.1 ピクセル移動するにはどうすればよいでしょうか?

IE7 は、私が認識している限り、浮動小数点の測定をサポートしていません (または、少なくともピクセルではなく、他のユニットをテストしていません)。返された CSS の左位置をコンソール ログに記録すると、IE7 が浮動小数点数を返さないことがわかります。

IE7 で動作させるには、1 ピクセルの移動を使用し、再描画速度を下げます。または、望ましい結果を得るために、ピクセルの動きとレートを調整することをお勧めします。ピクセルの動きが高いほど良いです。

画像の再描画は、訪問者のマシンでコストがかかる可能性があります。ゲーム コミュニティ (通常は高速でハイエンドなシステムを使用しているコミュニティ) 向けに何かを作成していたとしても、それを絶対要件にすることはお勧めしません。画像スクローラーだけで、一部のシステムに深刻な遅れが生じる可能性があります。

また、ほとんどのモニターのリフレッシュ レートが 5 ミリ秒よりも低いことを忘れないでください。したがって、それよりも速く再描画されることを期待するのは無意味です

于 2012-08-06T14:45:04.833 に答える