png: OnMouseOver e UseMap

  • Creatore Discussione Creatore Discussione Zibang
  • Data di inizio Data di inizio

Zibang

Nuovo Utente
25 Set 2008
4
0
0
Salve a tutti ragazzi!
Avevo bisogno di attivare la trasparenza delle png su explorer, per cui ho usato questo java-script:
Codice:
// Correctly handle PNG transparency in Win IE 5.5 or higher.
// http://homepage.ntlworld.com/bobosola. Updated 02-March-2004

function correctPNG()
{
for(var i=0; i<document.images.length; i++)
{
var img = document.images[i]
var imgName = img.src.toUpperCase()
if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
{
var imgID = (img.id) ? "id='" + img.id + "' " : ""
var imgClass = (img.className) ? "class='" + img.className + "' " : ""
var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
var imgStyle = "display:inline-block;" + img.style.cssText
if (img.align == "left") imgStyle = "float:left;" + imgStyle
if (img.align == "right") imgStyle = "float:right;" + imgStyle
if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
var strNewHTML = "<span " + imgID + imgClass + imgTitle
+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
+ "(src='" + img.src + "', sizingMethod='scale');\"></span>"
img.outerHTML = strNewHTML
i = i-1
}
}
}
window.attachEvent("onload", correctPNG);
Tutte le png però avevano anche le funzioni UseMap, OnMouseOver e OnMouseOut. Usando questo js, internet explorer non riconosce più nessuna delle tre funzioni.
Io credo che basti modificare lo js che ho postato sopra aggiungendo il riconoscimento delle opzioni UseMap, OnMouseOver e OnMouseOut. Il problema è che, non essendo pratico di questo linguaggio, non so proprio da dove partire... qualcuno sa come devo modificarlo? :eek:
Grazie mille a tutti in partenza! :)
 
Allora sì, le immagini sono sempre richiamate dal tag <img> e gli eventi UseMap, OnMouseOver e OnMouseOut ci sono sempre. Grazie mille! :fonzie:
 
Si tratta di una pagina html e le immagini .png hanno tutte una struttura di questo tipo:
Codice:
<map name="FPMap0">
<area coords="208, 88, 50" shape="circle" href="http://forum.mrwebmaster.it/javascript-dhtml/iframe3.html" onMouseOver="document.img7.src='img1.png';"
onMouseOut="document.img7.src='img2.png';" target="iframe2">
</map>
<img border="0" width="362" height="231" src="http://forum.mrwebmaster.it/javascript-dhtml/img1.png" name="img7" usemap="#FPMap0">

Se io attivo quello javascript per la trasparenza delle png inserendo questo tag sottostante, le png diventano trasparenti ma non vengono più riconosciuti gli eventi UseMap, OnMouseOver e OnMouseOut. :mad:
Codice:
<script defer type="text/javascript" src="pngfix.js"></script>
Credo che questo dipenda dal fatto che questi eventi non sono inseriti nello javascript, ma non so cosa scrivere nello js per farli riconoscere. Potresti aiutarmi?
 

Discussioni simili