Hi,
eines gleich vorab, damit keine falschen Hoffnungen entstehen: Ich kann dir keine Lösung für das Alpha-Transparenz-Problem im IE anbieten (weiß nicht, ob es überhaupt wirklich eine gibt), sondern nur ein paar zusätzliche Denkanstöße.
Die CSS-Filter, die beim IE für den Effekt nötig sind, werden intern offensichtlich als ActiveX verwaltet. Das heißt, sobald ActiveX im IE deaktiviert wird (was ja sogar Microsoft oft empfieht, aus gutem Grund), dann stehen auch diese Filter nicht mehr zur Verfügung.
Darüber hinaus verwendest du im Stylesheet expression(), was letzten Endes nichts anderes als ein ins Stylesheet eingebettetes Javascript ist. Also funktioniert auch das nicht, sobald Javascript deaktiviert ist.
Die Menge der IE-Nutzer, die du mit deiner Lösung erreichst, wird damit schon ziemlich klein. Ist es deiner Ansicht nach dann überhaupt noch den Aufwand wert?
<script language="JavaScript">
<!--
Fehler: Das vorgeschriebene type-Attribut fehlt. Den Kommentar am Script-Anfang darfst du mittlerweile auch in den Ruhestand schicken.
Normal1 = new Image();
Normal1.src = "src/link/news_nor.png";
Highlight1 = new Image();
Highlight1.src = "src/link/news_hov.png";function Bildwechsel(Bildnr,Bildobjekt) {
window.document.images[Bildnr].src = Bildobjekt.src;
}
Das sieht für meine Augen ineffizient aus. Warum erzeugst du anfangs erst die image-Objekte, wenn du nachher doch wieder nur auf die src-Eigenschaft zugreifst? Da könntest du innerhalb von Bildwechsel() auch direkt den Namen einsetzen, anstatt ein image-Objekt zu bemühen.
Alternativ könntest du die Zuweisung in
window.document.images[Bildnr] = Bildobjekt;
ändern. Dann ergibt es Sinn, die image-Objekte vorher zu generieren und auf Vorrat vorzuhalten.
ich weiss leider nicht was ich da jetzt weiter machen kann :(
Ich schlage vor, gar nicht so einen Aufwand zu treiben, und dem IE einfach ein GIF anstatt des PNGs vorzusetzen. Das lässt sich mit Conditional Comments ganz gut realisieren. Dann haben IE-User auch den normalen Transparenzeffekt, aber eben keinen weichen Übergang, sondern pixelige Kanten. So what?
Schönen Sonntag noch,
Martin
Wenn der Computer wirklich alles kann,
dann kann er mich mal kreuzweise.