1

次の HTML の場合:

<td class="width2 padLeft" id="loading_45">&nbsp;</td> 

次の JQuery:

$('#loading_45').addClass('loading');

次の css 定義を使用します。

td.loading
{
    background-image:url("../images/icon_loading_circle.gif");
    background-position:left center;
    background-repeat:no-repeat;
    height:auto; 
    position:absolute;
    text-align:center;
}

背景画像が IE7 に表示されません (FF では問題なく動作します)。

誰かが私が間違っていることを知っていますか?

Pointy が指摘したように、問題は CSS の position:absolute; にありました。定義を削除する必要があります。迅速に回答していただきありがとうございます

4

2 に答える 2

1

(@Gabyが指摘しているように)適切なタイミングでクラスを追加している場合は、「addClass」が機能していると確信しています。Firefoxで動作するので、おそらくそうです。

問題は、単にスタイルシートがIE7を狂わせていることだと思います。テーブルセルに「position:absolute」を配置すると、テーブルセルが完全に間違った場所にレンダリングされるなどの問題が発生する可能性があります。私が試してみると、スタイルシートで「上」または「左」が指定されていなくても、テーブルセルは常にページの左上隅にレンダリングされます。

そのクラスをテーブルセルにハードコーディングしてページをテストし、何が起こるかを確認してください。

于 2010-07-18T13:04:04.503 に答える
0

を使用してDOMがロードされた後にコードが実行されることを確認してください

$(function(){
   $('#loading_45').addClass('loading');
});

また

$(document).ready(function(){
   $('#loading_45').addClass('loading');
});

また、要素の幅/高さが背景画像に適合することを確認してください。

デモ: http://www.jsfiddle.net/9PZZB/2/

于 2010-07-18T12:54:20.947 に答える