Hét vraag- en antwoordplatform van Nederland

Hoe kan ik een functie (die normaal als body onload word gebruikt) laten beginnen als er op een plaatje word geklikt?

Ik heb een plaatje wat wordt gebuikt als link;



Hoe kan ik zorgen dat dit word gecombineerd met deze functie?

'k heb dr ff een korte pagina van gemaakt:



Mijn pagina




hoi






Ik de head heb ik dan ook al het script voor javascript:NewWindow staan.

Hoe zorg ik dat de functie start zodra er op het plaatje wordt geklikt?

Verwijderde gebruiker
12 jaar geleden
837

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Roep vanuit je link een functie aan die beide zaken afhandelt. Dus hier is dat doe_iets(). Die plaats je in de head, net als omleiding().

function doe_iets() {
NewWindow(‘popup.php’,‘popup’,‘450’,‘470’,‘center’,‘front’);
omleiding();
}

(Lees meer...)
12 jaar geleden
Verwijderde gebruiker
12 jaar geleden
en kan ik dat dan ook nog combineren met de popup?
walter
12 jaar geleden
Ja, dat gebeurt dan he.
Die NewWindow is een javascriptfunctie die je aanroept.
Omleiding is ook een javascript-functie die je wil aanroepen.
Je hebt dus 2 functies die aangeroepen moeten worden. Dat kan je in een nieuwe functie (doe_iets()) doen. Volgens mij kan je het trouwens ook rechtstreeks achter elkaar zetten. Is misschien wel handiger: Nu voert hij eerst die NewWindow uit, en dan de functie omleiding.
Verwijderde gebruiker
12 jaar geleden
o ja, sorry, ik had nog even niet door dat het nu 2 functies in 1 zijn ;)
Verwijderde gebruiker
12 jaar geleden
Ik ga het 2e doen, gewoon de functies achter elkaar zetten. Dat lijkt me toch iets handiger.
walter
12 jaar geleden
Yep. Ja wat ik zeg, je kan het ook gewoon achter elkaar zetten. Maar als je wat meer code gaat uitvoeren wordt het niet echt leesbaar en onderhoudbaar. Dan is het makkelijker om 1 functie aan te roepen, vanwaar uit je dan doet wat je wil gaan doen.
Verwijderde gebruiker
12 jaar geleden
Nu werkt de redirect niet, maar ik heb setTimeout(‘omleiding()’,2000); nu ook nergens in verwerkt, die eerst in de body onload zat.
Verwijderde gebruiker
12 jaar geleden
ik zie het al, het komt door de gekke apostroffen van goeievraag, die zijn anders dan de normale, ik had ze gewoon gekopieërd.
walter
12 jaar geleden
Haha ja ik merk het nu ook. HAd het even gekopieerd, en moest ze ook vervangen. Waar komt NewWindow trouwens vandaan? Je kan ook javascript:window.open(...) gebruiken .
Verwijderde gebruiker
12 jaar geleden
het komt van een popup generator, ik wilde een popup maken zonder balken enzo, had toen geen zin om op te zoeken hoe je dat allemaal kan uitzetten.
walter
12 jaar geleden
Ok. Dat kan ook.
Window.open is ook niet zo heel moeilijk, hier zie je precies alle mogelijke opties van de window.open:
http://www.w3schools.com/jsref/met_win_open.asp
Verwijderde gebruiker
12 jaar geleden
Ik heb nu dit; maar als ik er nu op klik, stuurt hij me door naar de 'url' javascript:NewWindow('popup.php','popup','450','470','center','front'); setTimeout('omleiding()',2000); en de pagina is dan '2'. gewoon een witte pagina met een 2. terwijl ik in de head wel naar een bestaande pagina heb gelinkt.
Verwijderde gebruiker
12 jaar geleden
weet jij hoe dit kan?
walter
12 jaar geleden
Hmm vreemd, ik heb jouw code nu nog even gekopieerd, en dat werkt wel. (alleen heb ik dan NewWindow vervangen door window.open om het te laten werken).
Staat er niet nog een apostrof verkeerd?
Verwijderde gebruiker
12 jaar geleden
hier is mijn hele code: misschien dat dat helpt. http://tinypaste.com/e79398b2 password = lol ik heb namelijk in de head ook nog eigenschappen van NewWindow
Verwijderde gebruiker
12 jaar geleden
http://tinypaste.com/e79398b2
Verwijderde gebruiker
12 jaar geleden
hmm, ik krijg een 403. voor als jij dat ook hebt; http://pastebin.com/tAWGTnXs
walter
12 jaar geleden
Net voor de regel function omleiding(){ heb je dit staan: