2010-06-10 19 views
0

J'ai essayé de regarder une question similaire ici, mais nous ne pouvions pas trouver un si le voici:Internet Explorer et onMouseOver/onMouseOut

Je cette html (ignorer le « + tout + @ », son dans un fichier codebehind si Im mettre quelques variables qui im ​​obtenir à partir de là):

<div id='ReferenceContainer"[email protected]"' style='background-color:"[email protected]"; width:"[email protected]"; height:"[email protected]";'> 
    <div id='Reference"[email protected]"' style='width:"[email protected]"; height:"[email protected]"; '> 
     <div id='RefTextContainer"[email protected]"' style='float:left; width:"[email protected]"; height:"[email protected]"; ' > 
      <div id='RefTitleCon' style='margin-top:"[email protected]"px; color:"[email protected]"; z-index:-1;' ><p><b>"[email protected]"</b></p> </div> 
      <div id='RefTextCon'><p>"[email protected]"</p></div> 
     </div> 
     <div id='RefPicContainer"[email protected]"' style='float:right;'> 
      <img id='RefImg"[email protected]"first' class='first' name='RefImg"[email protected]"' src=" + StartImg + @" style='position:absolute;' ></img> 
      <img id='RefImg"[email protected]"second' class='second' name='RefImg"[email protected]"' src=" + AltImg + @" style='display:none;' ></img> 
     </div> 
     </div> 
    <div id='ScriptContainer"[email protected]"' style='width:"[email protected]"; height:"[email protected]"; position:relative; top:-"[email protected]"px; left:0px;' onMouseOver='ChangeBackcolourON"[email protected]"()' onMouseOut='ChangeBackcolourOFF"[email protected]"()'></div> 
</div> 

Maintenant dans Firefox, tout fonctionne parfaitement. Le div "ScriptContainer" se trouve devant le tout et lorsque la souris entre ou sort, les fonctions fonctionnent exactement comme elles le devraient. Mais IE8 place le texte devant tout et les fonctions ne fonctionnent pas comme je le voudrais. "ChangeBackcolourOFF" est appelé chaque fois que la souris entre dans le texte, qui se trouve devant tout et "ChangeBackcolourON" est appelé chaque fois que la souris entre dans le "Scriptcontainer" du texte. Donc, soit j'ai besoin de comprendre comment forcer le texte à être placé derrière le "Scriptcontainer" ou d'autres solutions.

J'apprécie vous répond

Répondre

0

D'accord, je me dis que ce fait par essais et erreurs. Donc j'ai pensé que je partagerais. Apparemment, si le "Scriptcontainer" n'a pas de couleur de fond, IE place le texte en avant, mais si le "Scriptcontainer" a une couleur de fond, le texte est placé derrière. Donc j'ai donné une couleur de fond au "Scriptcontainer" et je l'ai fait passer à travers avec le filtre: alpha (opacité = 0); opacité: 0; donc comme ceci:

<div id='ScriptContainer"[email protected]"' style='width:"[email protected]"; height:"[email protected]"; position:relative; background-color:#ffffff; filter:alpha(opacity = 0); opacity: 0;' onMouseOver='ChangeBackcolourON"[email protected]"()' onMouseOut='ChangeBackcolourOFF"[email protected]"()'> 

Je ne suis pas sûr s'il existe d'autres, peut-être de meilleures solutions à ce problème, mais il semble fonctionner pour moi.