2012-05-08 6 views
4

。 それからそれらをアニメーション化して移動します。 はその後、私はこのコードを使用します。アニメーションは、私はこのコードを使用ChromeとFirefoxで動作しますwierdly(OK IEで)

$("img.cloudcarousel").each(function(i, e){ 
    $(e).animate({top:coords[i].top, left:coords[i].left}, 1000); 
}); 

は、彼らが属している場所に戻ってそれらをアニメーション化します。 IEでは(少なくとも8)それはうまく動作しますが、ChromeとFirefoxでは、40〜50ピクセルがあまりにも左下にアニメーションされます(オーバーアニメーションのように)。

私はこれをどのように発見したのですか?私がマウスホイールを使用すると、彼らはどこに属しているのですか?

私はそれが何とかアニメーションキューのビルドアップに関係していると思いますが、私は4つの画像しか使用せず、マウスホイールのものだけx時間後にはそれ自身で修正しません。

編集:

をjsfiddle.netに追加私は、そのサイトがどのように機能するか本当にわからないが、私はそれに私のHTMLとJSを追加しました:

http://jsfiddle.net/3wqYg/

+2

にアニメーション化されませんので、あなたがテストページにそれをコピーする必要がありますhttp://jsfiddle.net/3wqYg/1/あなたはhttp://jsfiddle.netに例を置くことができます参照してください? – Gavriel

+0

iveはそれを追加しました:) – galtzhayek

+0

HTMLとCSSが見えますが、画像が表示されます: http://webbee.co.il/hosting/y/wp-content/uploads/about.png –

答えて

2

$(e)に。 offset()はあなたのフィドルで現在定義されている値を返していません。私はオフセットの定義を参照していませんが、コードを出力するとコードと同じではないことがわかります

編集:問題があるのは、オフセット()http://api.jquery.com/offset/を参照してください。あなたがそれをアニメーション化したときにそれを親要素に相対的なものにすることを文書化する(デフォルト動作)。ドキュメントではposition()を使用しています。それは親要素との相対的なものですが、私はそれを試していませんが、それを使用すればうまくいくはずです。

最終編集:うん位置で正常に動作しますが、それはフィドル

+0

今すぐチェックしてください。 btwこれが真実ならば、マウスホイールを動かすときに正しい場所に行くという事実をどうすれば説明できますか? – galtzhayek

+0

作品!完璧! – galtzhayek

+0

また、前に働いていたIE 8が正しい振る舞いでないので、IEでチェックしてください。 – Huangism

関連する問題