opacity filter และ IE8
IE8 ไม่ได้สนับสนุน property opacity และ property filter แล้วนะครับ (แต่แว่วๆว่าจะกลับมาใน IE9 ซึงใช้ CSS3) ทำให้ไม่สามารถใช้ effect บน IE8 ได้
เช่นการกำหนดด้วย Javascript
หรือการกำหนดด้วย CSS
หรือแม้แต่คำสั่ง filter ของ IE ก็ไม่สามารถใช้งานได้
ผมเองก็จนปัญญาที่จะหาคำสั่งมาแทนที่ ทำให้ไม่สามารถใช้ effect ที่เคยใช้บน IE8 ได้ แต่ปัญหานี้สามารถแก้ไขได้ด้วยการกำหนดให้ IE8 ทำงานในโหมดของ IE7 ด้วยการกำหนด Document Compatibility ให้กับเพจ
แทรกโค้ดนี้ไว้ในส่วน head ของเพจครับ
เช่นการกำหนดด้วย 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 ของเพจครับ