Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   onMouseOver и innerHTML не работает ссылка (https://javascript.ru/forum/misc/4947-onmouseover-i-innerhtml-ne-rabotaet-ssylka.html)

Loa-Lady 01.09.2009 14:31

onMouseOver и innerHTML не работает ссылка
 
Существует тег div в нем есть ссылка-картинка, при наведении эта ссылка-картинка заменяется на саму же себя и еще одну ссылку картинку. при этом ссылка почему-то не работает. помогите кто знает почему?

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

<script>

k=0
n=1
menu=new Array
menu[0]="Glav"
menu[1]="Int"

Men="<DIV id=i"+k+" onMouseOver=Smena1() onMouseOut=Smena0()> <A href='"+menu[k]+".html'  > <IMG src='pic/"+menu[k]+".gif' width=283 height=63 border=0 id="+menu[k]+" /></A></DIV>"
document.all.menu0.innerHTML=Men

function Smena1() {
vst=" <A href='Glav.html' ><IMG src='pic/"+menu[k]+"1.gif' width=283 height=63 border=0 id="+menu[k]+"></A> <BR />"+ "<A href='Int.html' ><IMG src='pic/"+menu[n]+"1.gif' width=283 height=63 border=0 id="+menu[n]+" ></A> <BR />"
d=eval("document.all.i"+k)
d.innerHTML=vst}

</script>

Loa-Lady 01.09.2009 14:42

Пересмотела и упростила код суть та же
 
<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>

Riim 01.09.2009 14:44

document.all только для IE .
Посмотрите, как другие пишут код на javascript и html, можно на этом же сайте, а то тихий ужас какой-то.

Loa-Lady 01.09.2009 14:57

Так в IE и не работает

Верю что ужас, но все когда-то учились :0)

B~Vladi 01.09.2009 15:04

Цитата:

Сообщение от Loa-Lady
Верю что ужас, но все когда-то учились

Учились прикручивать готовые скрипты?! Или писать их самому?!

Loa-Lady 01.09.2009 15:10

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

B~Vladi 01.09.2009 15:16

Цитата:

Сообщение от Loa-Lady
Я учусь писать сама

Дк и пишите сами... зачем с другим возицо - тем более нерабочим...
Ваша проблема - это не проблема. Почитайте основы работы с DOM, надеюсь, это поможет:)

Loa-Lady 01.09.2009 15:33

В смысле с "другим"??
У меня не получается я прошу подсказать в чем поблема...

Riim 01.09.2009 15:42

Что-то я и правда понять не могу почему не работает, сонный наверно. Упростил:
<div id="myMenu"></div>
 
<script type="text/javascript">

window.onload = function() {
	document.getElementById('myMenu').innerHTML = '<div onmouseover="Smena1(this);">link</div>';
};

function Smena1(elem) {
	//elem.onmouseover = null;
	elem.innerHTML = '<a href="Glav.html">link</a>';
}

</script>


Если в Smena1 раскомментировать первую строку или сменить onmouseover на onclick, то начинает работать.

Loa-Lady 01.09.2009 15:58

Да но тогда событие пройдет только один раз, т.е. только при первом наведении, мне надо чтобы при каждом, так как когда указатель уходит с картинки, ставшей двумя она снова сворачивается в одну.
<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>


Часовой пояс GMT +3, время: 04:29.