Avatar billede theartist Nybegynder
15. juni 2000 - 15:51 Der er 5 kommentarer og
1 løsning

document.write overskriver alt andet

Hey everybody

Jeg hare en funktion der ser således ud:
function Showtext(curtext) {
    var TempText = (tekster[curtext])
    document.write(TempText)
    // document.all['TextToShow'].innerHTML = TempText
    }

og en document.write i min body der ser således ud:
<SCRIPT LANGUAGE=JAVASCRIPT>
document.write(howtext)
</SCRIPT>
<!--

<div ID="TextToShow" style="font-family: Verdana; font-size: 12 pt;">
</div>
-->

Der er bare lige det her ved denne funktion at den overskriver alle mine andre funktioner og giver mig resultatet på en blank side, hvilket den ikke skal gøre, den skal istedet udskrive noget tekst fra en Array under nogle billeder.

jeg har fået det til at virke i DHTML (som i kan se jeg har udkommenteret i min function og i min body) - men det skal altså også virke i javascript...

Er der nogen af jer der har et smart trick til at få det til at virke i ren javascript, så ville jeg blive åhhh så glad.
Avatar billede theartist Nybegynder
15. juni 2000 - 15:53 #1
der skulle selvfølgelig stå Showtext i howtext i min document.write, det er IKKE det der er fejlen.
Avatar billede olebole Juniormester
15. juni 2000 - 19:09 #2
<ole>
Skal teksten skrives ud med tryk på et link?
</bole>
Avatar billede theartist Nybegynder
15. juni 2000 - 20:13 #3
ja det er en slags billedarkiv, hvor man vælger et thumbnail og så viser den det billede i stort med tekst under... (den funktion som jeg har vist) Jeg har fået det til at virke med DHTML, men det her virker ikke i Netscape, og det ville jeg jo så frygtelig gerne have at det gjorde...
Avatar billede olebole Juniormester
16. juni 2000 - 14:06 #4
Her er X-browser versionen:

<html>
<head>
<script language="JavaScript">
<!--
//  dette Array er bare til test:
var tekster = new Array("noget","noget andet","noget tredie");

var ns4 = document.layers;
var ie4 = document.all;

function Showtext(curtext) {
    var TempText = tekster[curtext];
    if (ie4) {
        document.all['TextToShow'].innerHTML = TempText
    }else if (ns4) {
        document.layers['TextToShow'].document.open();
        document.layers['TextToShow'].document.write("<span class='tekst'>"+TempText+"</span>");
        document.layers['TextToShow'].document.close();
    }
}
//-->
</script>

<style type="text/css">
.tekst{ font-family: Verdana; font-size: 12 px; }
#TextToShow{ position:absolute; left:250; top:200 }
</style>

</head>
<body bgcolor=white>
<a href="java script:Showtext(0);">SKRIV TEKST #1</a><br>
<a href="java script:Showtext(1);">SKRIV TEKST #2</a><br>
<a href="java script:Showtext(2);">SKRIV TEKST #3</a><br>
<div ID="TextToShow">Her er dit div</div>
</body>
</html>

Her kan du læse, hvordan du placerer laget dynamisk:
    http://www.eksperten.dk/spm.asp?id=19191
det må du forholdsvis let kunne ændre til dine behov - ellers spørg igen.
/Vh
Avatar billede olebole Juniormester
16. juni 2000 - 14:08 #5
PS: Laget SKAL være placeret 'absolute', da NS ellers fucker op - derfor bemærkningen om at placere det dynamisk.
Avatar billede theartist Nybegynder
16. juni 2000 - 14:54 #6
Meget fint. Jeg havde nu helst undgået DHTML'en men så skidt da :-) tak for hjælpen!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester