0

私はフォトギャラリーに取り組んでいます。私が持っている最初の問題はです$.data。プラグインを介して画像を設定するときは、次のようにします。

$('.img').each(function(){
  $(this).data('original', { width:$(this).width(), height:$(this).height() });
});

次に、画像をフルサイズにアニメーション化する場合は、次のようにします。

$(this).animate({ 'width':$(this).data('original').width, 'height':$(this).data('original').height });

これはInternetExplorerとFirefoxで正常に機能しますが、SafariとChromeでテストしたところ、値はゼロですがFirefoxであり、正しい幅と高さです。なぜそれが起こるのかについてのアイデアはありますか?

2番目の問題は、InternetExplorerのスクロールアニメーションです。基本的に、私が持っているのは、overflow:hiddenを備えたラッパーと、ギャラリーの行(約50個の画像を含む)を保持するコンテナーです。今、私は次と前の2つのボタンを持っています。それらのコードは基本的にこれです:

$('#container').animate({ 'left':'+=400px' }, 2000);

今グーグルクロームとサファリでこのアニメーションは美しく実行されます。Firefoxでは少し遅いですが、私が一緒に暮らすことができなかったものは何もありません。ただし、IEでは、アニメーションは実際には表示されません。実際に見ることができるのは、アニメーションのほぼ最後の位置にジャンプしてから、少しだけ移動することです(最後に到達するため)。これを引き起こす可能性のあるアイデアはありますか?

4

1 に答える 1

1

あなたの質問の最初の部分はすでに答えられています。

IEはDOM操作が遅いことが知られているため、質問の2番目の部分が発生していると思います。

于 2010-01-16T16:35:43.397 に答える