Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > onMouseOver и innerHTML не работает ссылка


Автор: LoaLady 1.9.2009, 13:53
 
Существует тег div в нем есть ссылка-картинка, при наведении эта ссылка-картинка заменяется на саму же себя и еще одну ссылку картинку. при этом ссылка почему-то не работает. помогите кто знает почему?

<div id="menu0"></div>
 
<script>
 
 
Men="<DIV id=i0 onMouseOver=Smena1() > <A href='Glav.html'  > <IMG src='pic/Glav.gif' id=Glav /></A></DIV>"
document.all.menu0.innerHTML=Men
 
function Smena1() {
vst="<A href='Glav.html'  > <IMG src='pic/Glav.gif' id=Glav /><BR />"+ "<A href='Int.html'  > <IMG src='pic/Int.gif' id=Int /> <BR />"
d=document.all.i0
d.innerHTML=vst}
 
</script>

Автор: Amphiluke 1.9.2009, 14:17
Нужно удалить обработчик события onmouseover после первого его выполнения.
Код
<div id="menu0"></div>
 
<script type="text/javascript">
   var Men="<div id='i0' onmouseover='Smena1();'><a href='Glav.html'><img src='pic/Glav.gif' id='Glav' /></a></div>";
   document.getElementById("menu0").innerHTML = Men;
 
   function Smena1() {
      var vst = "<a href='Glav.html'><img src='pic/Glav.gif' id='Glav' /></a><br /><a href='Int.html'><img src='pic/Int.gif' id='Int' /></a><br />"
      var d = document.getElementById("i0");
      d.innerHTML = vst;
      d.onmouseover = function() {};
   } 
</script>

Автор: LoaLady 1.9.2009, 14:28
Amphiluke, Огромное Вам спасибо :0)

Автор: LoaLady 1.9.2009, 14:45
Блин посмотрела сработало, только это был кусочек кода на котоом я споткнулась, но суть в том, что событие должно произоти не один раз а при каждом наведении, и когда указатель уходит с элемента там должна остаться одна картинка вот...
Код


<div id="menu0"></div>

<script>


Men="<DIV id=i0 onMouseOver=Smena1()  onMouseOut=Smena0()> <A href='Glav.html'  > <IMG src='pic/Glav.gif' id='Glav' /></A></DIV>"
document.all.menu0.innerHTML=Men

function Smena1() {
vst="<A href='Glav.html'  > <IMG src='pic/Glav.gif' id='Glav' /><BR />"+ "<A href='Int.html'  > <IMG src='pic/Int.gif' id='Int' /> <BR />"
d=document.all.i0
d.innerHTML=vst
}


function Smena0() {
vst1="<A href='Glav.html'  > <IMG src='pic/Glav.gif' id='Glav' /><BR />"
d=document.all.i0
d.innerHTML=vst1
}

</script>
</body>




а если удалить обработчик, то событие приозодет только один раз... :0( 

Автор: Amphiluke 1.9.2009, 15:01
LoaLady, простите, конечно, но вы по моему скромному мнению излишне усложняете себе жизнь...
Код

<div id="menu0">
   <div id="i0" onmouseover="Smena1(true);" onmouseout="Smena1(false);">
      <a href='Glav.html'><img src='pic/Glav.gif' id='Glav' /></a><br />
      <a href='Int.html' id="secondLink" style="display: none;"><img src='pic/Int.gif' id='Int' /></a><br />
   </div>
</div>
 
<script type="text/javascript">
   function Smena1(vis) {
      document.getElementById("secondLink").style.display = (vis) ? "block" : "none";
   }
</script>

 smile Я не прав?

Автор: LoaLady 1.9.2009, 15:20
Amphiluke, да мне это свойственно, я сейчас еще часа два поковыряюсь и может что-то получиться. Но даже если и нет то Вы мне в любом случае очень помогли... Спасибо еще раз. 

Автор: Amphiluke 1.9.2009, 15:35
Цитата(LoaLady @  1.9.2009,  15:20 Найти цитируемый пост)
я сейчас еще часа два поковыряюсь и может что-то получиться. Но даже если и нет


Хм. smile  Разве код нерабочий? Или я чего-то не уловил? По наведению вторая ссылка-картинка появляется, а при уходе курсора — исчезает. Просто вместо удаления и добавления объекта происходит сокрытие и отображение обратно. Так намного эффективнее и проще...

Али вы уже о другом?

Автор: LoaLady 1.9.2009, 16:29
Нет нет код рабочий, посто то о чем я здесь писала лишь маленькое место, которое у меня не получилось, и если менять принцип, то есть вставить то что Вы мне педложили, то мне показалось, что надо много переписывать в большом коде. Но у меня уже все получилось что я хотела.  Если Вам будет интересно могу выложить весь код.
Еще раз огромное Вам спасибо, приятно удивлена, что в сети есть такие люди, которые готовы помочь, удачи Вам и всего хорошего. 

Автор: Amphiluke 1.9.2009, 16:42
Взаимно. Обращайтесь, пожалуйста, при необходимости. На то она и нужна (сеть-то..)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)