2011-10-23 9 views
0

IEのjQueryアニメーションに問題があります(私はIE 8でテストします)。サイトはHTML5で書かれていて、内部にimgタグを持つfigureタグがあります。jQuery、HTML 5とIEが間違ったアニメーションを返す

クリックすると図形要素をすべて移動したいので、アニメーション機能では新しい左位置を与えます。 FFで、オペラとクロムは、IE上で問題なく動作します。

IEが200 msに1回HTMLを再描画するようです。私は「遅い」でアニメーションを持っている場合は、「速い一つだけのジャンプがあると最後まで開始位置から3つのジャンプは、あります...

私を助けてください。

ここで私が使用して簡単なコードがあります:

これは図を作成する関数です:

var createElement = function (w, h, left, id, photo, caption, HTMLclass) {

var nid = Math.round(Math.random()*100)*1000 + (id*1);

var figure = $("<figure>").css({"z-index":1,"width":w+"px","height":h+"px","left":left+"px","cursor":"pointer"}).attr("id",(nid+1)).attr("onclick","moveElements(this)").addClass(HTMLclass);

var img = $("<img>").attr("src","photo/co/" + photo).attr("alt", caption).css({"z-index":2,"width":w+"px","height":h+"px"});

var figcaption = $("<figcaption>").text(caption); $("body").append(figure.append(img).append(figcaption));

};

そして、ここでアニメーションを持つループです:

var figures = $("figure").each(function(index) { $(this).animate({"left": newLeft}, "slow"); };

+1

コード? IE8はHTML5を正しくサポートしていますか? –

+0

私はちょうど新しい答えを追加しました – Kania

答えて

0

それは何をすべきかを知らないのInternet Explorerで行う必要がありより新しいHTML 5タグが付いています。あなたの頭に次のJavascriptを挿入してみてください。 javascriptが行うことは、article、footer、headerなどの要素を作成するので、古いブラウザではDOM負荷から作業する要素があります。

これでうまくいかない場合は、ここにコードを投稿してみてください。クロスブラウザーの問題は、IEにこれらの要素をどのように処理するかを知らないことを指摘するようです。

+0

私はjqueryを使って要素を作成し、アニメーション化します(それは良いものを作成し、imgはHTML5で閉じる必要はありません)、強制的にhttp://html5shim.googlecode.com/svn/trunk/html5.js IEはすべてのタグを正しく表示します。それはかなりうまくいく。ただ一つのことは、それがうまくいかないように、アニメーション化されています... – Kania

関連する問題