3

私が知る限り、これは IE 8 にのみ影響します。

次のコードを使用すると、gif は表示されますが、アニメーション化されません (1 つの位置で動かなくなります)。

$("#<%=assessmentListLinkClientID() %>").click(function(){
        $("#assessmentListLoaderImg").show();
    });

私も.css('display', 'block')同じ結果で使用しました。

アニメーション GIF を表示するための信頼できるクロスブラウザーの結果を生成する、受け入れられている (おそらくこれよりも優れた) 方法はありますか?

4

2 に答える 2

6

これがこの問題を解決する方法のようです。

<div id='myHiddeDiv' style='display:none'> 
<img src='' id='myAnimatedImage'> 
</div> 
<input type='button' value='show image' onclick='showDiv();'> 

<script languag='javascript'> 
function showDiv() 
{ 
document.getElementById('myHiddeDiv').style.display =""; 
document.getElementById('myAnimatedImage').src = "http://www.nowhere.com/animatedGif.gif"; 
} 
</script> 

画像タグのsrcを再設定する必要があります。これにより、IEは画像タグを再度レンダリングし、アニメーションで表示します。

于 2011-03-29T09:15:36.707 に答える
0

私はしばらく前にこの問題を抱えていましたが、解決していませんでしたが、最近jquery UIで何かを見つけて、さらに調査しようとしていました. jQuery UI エンジンには、画面外に非表示に設定するための設定があるようで、アニメーション GIF がレンダリング時に見えないため、IE がアニメーション GIF を適切にレンダリングしないという問題を回避できるのではないかと考えていました。私の理論は、それが表示されていても「画面外」にある場合、IE はそれをアニメーションとしてレンダリングする可能性がありますが、ユーザーには表示されないというものでした。

リンクはこちら:

http://jqueryui.com/docs/Theming/API

そして、私が考えているのはここのレイアウトヘルパーです:

.ui-helper-hidden-accessible: アクセス可能な非表示を要素に適用します (ページ外の abs 配置を介して)

これを答えとして保証することはできませんが、機会があれば自分で試してみることが私の解決策のリストにありました.

これを試して成功した場合は、私に知らせてください:)

于 2011-03-28T14:54:28.520 に答える