0

image1.png と image2.png はどちらも背景が透明です。

<script type="text/javascript">
    $(document).ready(function(){
        $("img#test").click(function() {
            $(this).attr("src", "image2.png");
        });
    });
</script>
<img id="test" src="image1.png">

上記のコードは、image1.png を image2.png に置き換えることになっています。しかし、Internet Explorer 6/7/8 (互換表示オフ) では、image1.png を背景からクリアせず、image1.png の上に image2.png を配置するだけです。

image2.pngに置き換える前に、背景からimage1.pngを動的に完全に削除する方法は?

編集

base.css で次のコードを使用して、Internet Explorer で透明な .png 画像を表示する際のバグを修正しました。

/* Png Ransparent */

.mypng 画像 {

方位角: 式(

this.pngSet?this.pngSet=true:(this.nodeName == "IMG" && this.src.toLowerCase().indexOf('.png')>-1?(this.runtimeStyle.backgroundImage = "なし",

this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.src + "', sizingMethod='image')",

this.src = "/static/images/transparent.gif"):(this.origBg = this.origBg? this.origBg :this.currentStyle.backgroundImage.toString().replace('url("','') 。交換('")'、'')、

this.runtimeStyle.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + this.origBg + "', sizingMethod='crop')",

this.runtimeStyle.backgroundImage = "none")),this.pngSet=true);

}

それがこの問題の原因ですか?

4

2 に答える 2

1

$(this).after();置き換えたい画像の後に新しい画像を試して追加することができます。そして最後に$(this).remove();

于 2009-12-20T15:24:33.290 に答える