• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

SonicSpot

Escrever código ao passar o rato num link [PROBLEMA RESOLVIDO]

2 mensagens neste tópico

Boa tarde! Eu tenho o seguinte código:

<html>
<head>
	<meta http-equiv="Content-Language" content="pt">
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
	<title>menu</title>
	<script language="javascript">
		function showInfo(t){
			if(document.layers) {
				with(document.layers["caixaTexto"].document) {
					open();
					write(t);
					close();
				}
			}
			else {
				if(document.all) {
					caixaTexto.innerHTML = t;
				}
			}
		}
	</script>
</head>

<body topmargin="5" leftmargin="5" rightmargin="5" bottommargin="5">
	<a href="link1.html" onmouseover="showInfo('This is info number 1')" onmouseout="showInfo('')">Link 1</a>
	<br>
	<a href="link2.html" onmouseover="showInfo('This is the other info, number 2')" onmouseout="showInfo('')">Link 2</a>
	<br>
	<div id="caixaTexto" class="descricao"></div>
</body>
</html>

Quando se passa o rato por cima dos links, o código escreve na página texto/HTML. Infelizmente, este código não funciona em Firefox, e gostaria de saber porquê, ou como tornar o código compatível com a maioria dos browsers. Já agora, aviso que não fui eu que escrevi a função, e que não percebo de Javascript, por isso agradecia que ao ajudar, tentassem ser o mais explícitos possível.

Grato pela vossa atenção, Marco Oliveira.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui resolver o problema! Já agora, no espírito de partilha, deixo aqui a solução. Nota: também adicionei a opção de poder escolher qual o div em que se quer escrever.

A solução é a seguinte:

<html>
<head>
	<meta http-equiv="Content-Language" content="pt">
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
	<title>menu</title>

	<script language="javascript">
		function showInfo(texto,target){
			document.getElementById(target).innerHTML = texto;
		}
	</script>

</head>

<body topmargin="5" leftmargin="5" rightmargin="5" bottommargin="5">
	<a href="link1.html" onmouseover="showInfo('This is info number 1','caixaTexto')" onmouseout="showInfo('','caixaTexto')">Link 1</a>
	<br>
	<a href="link2.html" onmouseover="showInfo('This is the other info, number 2','caixaTexto')" onmouseout="showInfo('','caixaTexto')">Link 2</a>
	<br>
	<div id="caixaTexto" class="descricao"></div>
</body>
</html>

Espero que isto vos seja útil!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora