Jag använder insertAdjacentText() för att vid en onmouseover på en länk lägga till
en text. Länken ser ut så här:
<a href="kontakt.asp" id="k" onmouseover="s();">Kontakt</a>
Funktionen s() ser ut så här:
<!--
function s(){
k.insertAdjacentText('AfterEnd',' -->');
}
//-->
Vid en onmouseover skrivs mycket riktigt en liten textsnutt ut - men hur får jag bort den
textsnutten vid en onmouseout?? Jag får det i alla fall ej att fungera med ex.
onmouseout=";".
Tacksam för hjälp.
Peter SMedlem sedan dec. 20025 483 inlägg Om du vill att skriptet skall vara kompatibelt med andra webbläsare än Internet Explorer:
<script type="text/javascript">
<!--
function insertText(o,t){
o.innerHTML = t;
};
//-->
</script>
...
<a href="" onmouseover="insertText(this,'Foo -->')" onmouseout="insertText(this,'Foo')">Foo</a>
:)
Enklast är att han ett element som man byter ut innehållet på. insertAdjacentText är IE specifikt och fungerar inte i andra browsers.
Exemplet här använder sig av innerHTML som inte tillhör standarden, men det stöds av alla browsers som implementerat DOM stöd (Safari, Mozilla, Netscape 6+, IE 5+, iCab etc)
<a href="#" onMouseOver="s(0);" onMouseOut="s(0);">1</a><span id="linkArrow_0"></span><br>
<a href="#" onMouseOver="s(1);" onMouseOut="s(1);">2</a><span id="linkArrow_1"></span><br>
<a href="#" onMouseOver="s(2);" onMouseOut="s(2);">3</a><span id="linkArrow_2"></span><br>
<script type="text/javascript">
function s(num)
{
var linkArrow = document.getElementById("linkArrow_" + num);
linkArrow.innerHTML = (linkArrow.innerHTML == "")? "-->":"";
}
</script>
Tack så mycket!
Men Peter S, du glömde id="o" i din länk ;):
<a href="kontakt.asp" [red]id="o"[/red] onmouseover="insertText(this,'Kontakt -->')" onmouseout="insertText(this,'Kontakt')">Kontakt</a>
Peter SMedlem sedan dec. 20025 483 inlägg Nej, den behöver du inte eftersom nyckelordet this skickas med som argument ;)
:)
Det fungerade ej med this (även om jag trodde att det skulle göra det..) men när jag lade till id="o" så fungerade det finfint.
Peter SMedlem sedan dec. 20025 483 inlägg Använder du den funktion som jag postade tidigare? Får du något felmeddelande?
:)
Jag använder funktionen du postade tidigare. Felmeddelande får jag ej, förutom att det står "scriptfel etc." nere i statusraden i webbläsaren..
Peter SMedlem sedan dec. 20025 483 inlägg Det var det jag menade. Vad får du för felmeddelande om du dubbelklickar där (eventuellt även på "Visa information")?
:)
Nu när jag ändrade tillbaka fick jag ej något felmeddelande, varpå jag tänkte i några sekunder och kom på att det var webbläsarens inställningar som troligtvis härjade. IE kollade ej om det fanns en senare version av sidan när jag surfade till den, det vill säga att det var cachningen som gjorde det.
Men nu fungerar allt, och tack Peter S!