سؤال

image1 و.png و image2.بابوا غينيا الجديدة هي على حد سواء مع خلفية شفافة.

<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.بابوا غينيا الجديدة.ولكن في Internet Explorer 6/7/8 (طريقة عرض التوافق خارج) ، فإنه لن واضحة image1 و.بابوا غينيا الجديدة من الخلفية ولكن تكمن فقط image2.بابوا غينيا الجديدة على image1 و.بابوا غينيا الجديدة.

كيفية حيوي إزالة image1 و.بابوا غينيا الجديدة من الخلفية تماما قبل استبدال مع image2.بابوا نيو غينيا ؟

تحرير

أنا استخدم التعليمات البرمجية التالية في قاعدة.css لإصلاح الخلل في عرض tranparent .صورة png في Internet Explorer.

/* بابوا نيو غينيا Ransparent */

.mypng img {

السمت:التعبير(

هذا.pngSet?هذا.pngSet=صحيح:(هذا.باسم العقدة == "IMG" && هذا.src.toLowerCase().indexOf('.png')>-1?(هذا.runtimeStyle.backgroundImage = "لا شيء" ،

هذا.runtimeStyle.filter = "progid:DXImageTransform.مايكروسوفت.AlphaImageLoader(src='" + هذا.src + "', sizingMethod='image')",

هذا.src = "/static/images/transparent.gif"):(هذا.origBg = هذا.origBg?هذا.origBg :هذا.currentStyle.backgroundImage.toString().محل('url("',").محل('")',"),

هذا.runtimeStyle.filter = "progid:DXImageTransform.مايكروسوفت.AlphaImageLoader(src='" + هذا.origBg + "', sizingMethod='المحصول')",

هذا.runtimeStyle.backgroundImage = "none")) ، هذا.pngSet=true);

}

هو أن سبب هذه المشكلة ؟

هل كانت مفيدة؟

المحلول

يمكنك أن تجرب مع $(this).after(); و إضافة صورة جديدة بعد واحد كنت ترغب في استبدال;و أخيرا $(this).remove();

نصائح أخرى

بعد استبدالها .png الإصلاح البرمجية DD_belatedPNG, السابق رمز يعمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top