Autor | Zpráva | ||
---|---|---|---|
Witiko Profil |
#1 · Zasláno: 6. 9. 2010, 22:13:02 · Upravil/a: Witiko
Chamurappi:
„V Exploreru přeci není nutné pitvat cssText.“ Nejde mi jen o změny ve filtru, jde mi i o jeho odstranění. Je-li to možné přes kolekci filtrů nevím. Viz. tvůj post: http://diskuse.jakpsatweb.cz/?action=vthread&forum=8&topic=110653#3 |
||
Chamurappi Profil |
#2 · Zasláno: 7. 9. 2010, 15:43:20
Reaguji na Witika:
Aha, tak to jo. Na to jsem úplně zapomněl :-) Ale stejně — při odstranění průhlednosti by šlo vyhodit filtr z cssText u (to zvládne jeden regulární výraz), na změnu parametru opacity ovšem stačí něco méně krkolomného.
|
||
Witiko Profil |
#3 · Zasláno: 7. 9. 2010, 19:24:21 · Upravil/a: Witiko
Chamurappi:
Ano, regulární výrazy. Metla na mě, popel si na hlavu sypu. :) Jinak na změnu opacity by mohl být postup jiný přímo přes právě tu kolekci filtrů, podívám se na to. |
||
Časová prodleva: 18 dní
|
|||
Witiko Profil |
#4 · Zasláno: 26. 9. 2010, 01:07:09 · Upravil/a: Witiko
Ok, tohle už snad vypadá co do krkolomnosti lépe:
/* Funkce pro MSIE */ function setOpacity(element, opacity) { if(typeof element != "object" || typeof opacity != "number" || opacity < 0 || opacity > 100 || typeof element.style != "object" || element.style.cssText == void(0)) return false; if(/progid:\s*DXImageTransform\.Microsoft\.Alpha\(opacity\s*=\s*\d*\.*\d*\s*\)/i.test(element.style.filter)) { if(opacity < 100) { element.style.filter = element.style.filter.replace(/(progid:\s*DXImageTransform\.Microsoft\.Alpha\(opacity\s*=\s*)\d*\.*\d*(\s*\))/i,"$1" + opacity + "$2"); } else { element.style.cssText = element.style.cssText.replace(/(filter:\s*)*progid:\s*DXImageTransform\.Microsoft\.Alpha\(opacity\s*=\s*\d*\.*\d*\s*\)/ig,""); } } else if(opacity < 100) { element.style.filter += "progid:DXImageTransform.Microsoft.Alpha(opacity = " + opacity + ")"; } return true; } /* Funkce pro ostatní browsery */ function setOpacity(element, opacity) { if(typeof element != "object" || typeof opacity != "number" || opacity < 0 || opacity > 100 || typeof element.style != "object") return false; element.style.opacity = opacity==100?"":opacity / 100; return true; } |
||
Časová prodleva: 14 let
|
0