GORAGOD.com

freelance, web developer, web designer, hosting, domain name

opacity filter และ IE8

IE8 ไม่ได้สนับสนุน property opacity และ property filter แล้วนะครับ (แต่แว่วๆว่าจะกลับมาใน IE9 ซึงใช้ CSS3) ทำให้ไม่สามารถใช้ effect บน IE8 ได้

เช่นการกำหนดด้วย Javascript

function setimgopacity( obj , opacity )
{
  obj.style.filter = "alpha(opacity=" + ( opacity *100 ) + ")";
  obj.style.MozOpacity = opacity;
  obj.style.KhtmlOpacity = opacity;
  obj.style.opacity = opacity;
}

หรือการกำหนดด้วย CSS

#overlay {
  filter:alpha(opacity="70");
  MozOpacity:0.7;
  KhtmlOpacity:0.7;
  opacity:0.7;
}

หรือแม้แต่คำสั่ง filter ของ IE ก็ไม่สามารถใช้งานได้

filterstring = "progid:DXImageTransform.Microsoft.Fade(duration=3,overlap=1)";
overlay.style.filter = filterstring;

ผมเองก็จนปัญญาที่จะหาคำสั่งมาแทนที่ ทำให้ไม่สามารถใช้ effect ที่เคยใช้บน IE8 ได้ แต่ปัญหานี้สามารถแก้ไขได้ด้วยการกำหนดให้ IE8 ทำงานในโหมดของ IE7 ด้วยการกำหนด Document Compatibility ให้กับเพจ
 
<meta http-equiv="X-UA-Compatible" content="IE=7" />

แทรกโค้ดนี้ไว้ในส่วน head ของเพจครับ
0SHAREFacebookLINE it!
^