Avatar billede jocikese Nybegynder
14. oktober 2009 - 18:30 Der er 12 kommentarer og
1 løsning

pop-up der loader (skjult) tekst fra original siden

Hvorfor kan jeg ikke få dette til at virke?

<script>
function test()
{
var w = window.open("about:blank","win");
w.document.open("text/html", "replace");
w.document.write("Brødtekst");
w.document.close();
}
</script>
Avatar billede ebusiness Nybegynder
14. oktober 2009 - 21:18 #1
Hvad er det du prøver på at gøre?
Avatar billede jocikese Nybegynder
15. oktober 2009 - 09:47 #2
jeg prøver at skjule sætningen "brødtekst" på min html side, og når jeg kalder scriptet ved at klikke på nedenstående link, så skal "brødtekst" poppe-up i et nyt vindue.

<a href="java script:test(0)">Vis brødtekst</a>


Baggrund: jeg er ved at lave en webshop hvor der bliver skrevet en del dansk tekst. Jeg har også en del engelsk tekst fra producenterne, som jeg ikke vil blande sammen med vores egne beskrivelser, men jeg vil omvendt gerne give kunden mulighed for at læse dem.

For at undgå at skulle lave en html side for hvert produkt vil jeg således gemme teksten som udgangspunkt, og kun hvis brugeren klikker på et link skal det poppe-up.
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 10:00 #3
Popups er noget frygteligt noget at arbejde med, prøv i stedet med en skjuld div som du kan vise når der er behov for det. Jeg kan vise dig hvordan det fungerer hvis du har brug for det.
Avatar billede jocikese Nybegynder
15. oktober 2009 - 10:02 #4
det vil jeg meget gerne se...
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 15:50 #5
Det kan se ud på mange måder, her er et eksempel:

<div id="skjulttekst" style="position:fixed;left:50%;width:0px;display:none;z-index:1;">
<div style="position:absolute;width:400px;top:50px;left:-200px;border:1px solid black;background:white">Tekst her<br><a href="java script:skjultekst()">Luk</a></div>
</div>
<a href="java script:vistekst()">vis</a>
<script type="text/javascript">
function vistekst(){
    document.getElementById('skjulttekst').style.display='block';
}
function skjultekst(){
    document.getElementById('skjulttekst').style.display='none';
}
</script>
Avatar billede jocikese Nybegynder
15. oktober 2009 - 20:39 #6
Det virker ikke rigtig for mig. jeg har pastet hele molevitten ind i en html side som nedenfor:

<html>
<head></head>
<body>

<div id="skjulttekst" style="position:fixed;left:50%;width:0px;display:none;z-index:1;">
<div style="position:absolute;width:400px;top:50px;left:-200px;border:1px solid black;background:white">Tekst her<br><a href="java script:skjultekst()">Luk</a></div>
</div>
<a href="java script:vistekst()">vis</a>
<script type="text/javascript">
function vistekst(){
    document.getElementById('skjulttekst').style.display='block';
}
function skjultekst(){
    document.getElementById('skjulttekst').style.display='none';
}
</script>

</body>
</html>
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 21:07 #7
Der er på en eller anden måde røget et mellemrum ind i linjen:
<a href="java script:vistekst()">vis</a>

javascript skal være i et ord.
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 21:15 #8
Og har jeg også været overmodig og har ikke testet i IE.

Helt simpelt, uden alt det formateringshalløj som jeg prøvede på at liste med, og du skal selv lige rette java script til java script:

<div id="skjulttekst" style="position:absolute;width:400px;top:50px;left:200px;border:1px solid black;background:white;display:none;">Tekst her<br><a href="java script:skjultekst()">Luk</a></div>

<a href="java script:vistekst()">vis</a>
<script type="text/javascript">
function vistekst(){
    document.getElementById('skjulttekst').style.display='block';
}
function skjultekst(){
    document.getElementById('skjulttekst').style.display='none';
}
</script>
Avatar billede jocikese Nybegynder
15. oktober 2009 - 22:58 #9
hey,

nu kan jeg få det til at virke i en flad fil. perfekt!

dog kan jeg ikke få det til at virke når jeg sætter scriptet ind i min webshops cms system. webshop er fra dandomain
Avatar billede ebusiness Nybegynder
15. oktober 2009 - 23:19 #10
To ting:

Du skal have sat diven med teksten rigtigt op så den er placeret hvor du ønsker den på siden, og foran andre elementer som den skal skygge for, z-index er generelt brugbar i den sammenhæng. Derudover skal du bare beholde display:none, resten af CSSen kan du ændre som du ønsker.

CMSer er mange forskellige ting, tjek i den resulterende kode at scriptet er kommet rigtigt med (besøg din side og vælg vis kilde i menuen i din browser).
Avatar billede jocikese Nybegynder
15. oktober 2009 - 23:48 #11
tja, det kommer vidst lidt anderledes ud:

<div id="skjulttekst" style="position:absolute;width:400px;top:50px;left:200px;border:1px solid black;background:white;display:none;">Tekst her<br><a href="java script:skjultekst()">Luk</a></div><BR/><BR/><a href="java script:vistekst()">vis</a><BR/><script type="text/javascript"><BR/>function vistekst(){<BR/>    document.getElementById('skjulttekst').style.display='block';<BR/>}<BR/>function skjultekst(){<BR/>    document.getElementById('skjulttekst').style.display='none';<BR/>}<BR/></script>

når jeg indsætter det i en flad html virker det ikke igen. så det må være fordi min cms gør ting og sager. Kan jeg gøre noget ved det
Avatar billede jocikese Nybegynder
15. oktober 2009 - 23:58 #12
nu virker det sgu. tak. point er givet
Avatar billede ebusiness Nybegynder
16. oktober 2009 - 00:03 #13
Dit CMS insætter automatisk <BR/> tags hvor der er linjeskift, det dur ikke i JavaScript blokken. Simpelt fix, jeg har sat JavaScript blokken på en enkelt linje:

<script type="text/javascript">function vistekst(){document.getElementById('skjulttekst').style.display='block'};function skjultekst(){document.getElementById('skjulttekst').style.display='none'};</script>
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