2010-06-10 3 views
0

Я попытался глядя на подобный вопрос здесь, но не смог найти один так что здесь речь идет о:Internet Explorer и OnMouseOver/onMouseOut

У меня есть этот HTML (игнорировать «+ все, + @», его в файле отделенного кода так im, поместив некоторые переменные, получаемые оттуда):

<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> 

Теперь в firefox все работает просто отлично. Div «ScriptContainer» находится перед всем, и когда мышь входит или выходит, функции работают точно так, как должны. Но IE8 помещает текст перед всем, а затем функции не работают, как хотелось бы. «ChangeBackcolourOFF» вызывается каждый раз, когда мышь вводит текст, который находится перед всем, и «ChangeBackcolourON» вызывается каждый раз, когда мышь входит в «Scriptcontainer» из текста.

Так что мне нужно выяснить, как заставить текст размещаться за «Scriptcontainer» или некоторые другие решения.

Я ценю вас ответы

ответ

0

Хорошо, я на самом деле понять это методом проб и ошибок. Так что я думал, что поделюсь.

По-видимому, если «Scriptcontainer» не имеет цвета фона, то IE помещает текст спереди, но если «Scriptcontainer» имеет фоновый цвет, то текст помещается позади.

Так что я дал «Scriptcontainer» цвет фона и сделал это с помощью фильтра: alpha (opacity = 0); непрозрачность: 0; так, как это:

<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]"()'> 

Я не уверен, если есть другие, возможно, более эффективные решения этой проблемы, но это, кажется, работает для меня.