2011-07-12 11 views
7

Bir proje üzerinde çalışıyorum ve görevlerden biri arkaplan statik yapmak ve tüm sayfayı kapsamaktır. Bu konuda "Awesome, Easy, Progressive CSS3 Way" kullanarak this tutorial'u buldum. değil "html" konulu,MS Filters jquery ile eklendi

<body style="background-image:url(images/mainBg_1.jpg);"> 

(ayrıca css stil <body> alınır,: Sorunum daha fazla sayfa olması ve böyle <body> üzerinde arka plan görüntüsü koymak zorunda her biri farklı bir geçmişe sahip gibi

Eğer bu bağlantı görebileceğiniz gibi örneğin) 'de, IE için filtreler bu gibi vardır:

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.**myBackground.jpg**', sizingMethod='scale'); 
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='**myBackground.jpg**', sizingMethod='scale')"; 

sorun yazdığı gibi "myBackground.jpg", <body> etiketinden alınır olmasıdır yukarıda, ben doğrudan yazamam css'de (her sayfa farklı bir arka plana sahiptir).

JQuery'yi kullanarak bu filtreleri eklemenin bir yolu var mı? Ben başarıyla görüntü kodu yolunu aldı, bu yüzden sadece bu kod içine yapıştırmak ve sonra IE < için jQuery ile eklemek gerekir. 8.

Yanıtlarınız için teşekkürler, onları takip etmek benim sorunumu çözmek için başarılı. Biri kodu istiyorsa Yani,:..

$(function(){  
    var mu = $.browser; 
    if (mu.msie && mu.version < 9) { 

     var curBg = $('html').attr('style'); 
     curBg = curBg.split('('); 
     curBg = curBg[1].split(')'); 

     $('html').css({ 
        "filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')", 
        "-ms-filter" : "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+curBg[0]+"', sizingMethod='scale')" 
      });   

    } 
}); 
+0

Burada herhangi bir kod görüyor musunuz? Sen dedin ki ... "böyle" ... hiçbir şey ortaya çıkmaz! Kodlarınızı, cevabınız için '' –

cevap

0

Sen $ ('body') attr() css() veya $ ('body') kullanın ve vücudun stil özelliği değiştirebilir ya.

http://api.jquery.com/css/

http://api.jquery.com/attr/

+0

Tanklar içine alın. Bu işlevler hakkında biraz bilgim vardı ama bu durumda nasıl kullanılacağından emin değildim. Şimdi başarılıyım, her şey yolunda görünüyor. – stefanz

1

Testi bunun gibi bir şey olabilir
bu şekilde:

, sayfanızda istediğiniz görüntüyü içeren bir gizli img eleman eklemek

<img class="myBgImage" src="images/mainBg_1.jpg" style="display:none"/> 


O görüntü sınıf adı

var bgImage = $('img.myBgImage').attr('src'); 

$('body').append("<style>body{progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bgImage+"', sizingMethod='scale'); -ms-filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=' "+ bgImage +"', sizingMethod='scale')';}</style>"); 

görüntüyü src kapmak Ve css IE BG-görüntü için img src url tutan VAR sahip düzeltmek vücuda ekleyin.

Sadece bir fikir.

+0

Stilleri gövdeye değil kafaya eklemek daha iyidir. – Emil

+0

Kabul ediyor. Teşekkürler Emil –

+0

Fikriniz iyiydi ama doğru yolu izlemedim. Ayrıca görüntüyü html'ye koyuyorum. – stefanz