Dol geworden popup-window

Sommige websites proberen popup-windows te gebruiken om reclame te maken voor zichzelf of voor andere websites.
Daarbij worden zelfs popup's gebruikt die heen en weer over het scherm bewegen. Soms gebeurt dat op een manier waarvan je je afvraagt of de eigenaar van die site zijn bezoekers wel serieus neemt.

De JavaScript code die op deze bladzijde wordt besproken is speciaal bedoeld voor webmasters die popups gebruiken om hun bezoekers weg te jagen. Deze code is dan ook ondergebracht in de rubriek "Neem je bezoekers in de maling".
N.B.: De browser moet dus wel toestaan dat de site popups maakt. Als dat niet zo is, verschijnt de 'popup' in een nieuw tabblad en gaat het effect verloren. De toepasbaarheid van dit effect is dus beperkt.

Op deze plaats wordt een methode behandeld om een bewegende popup te maken, en wel op zo'n manier dat je bezoekers er gegarandeerd ibbelig van worden.

Als je op de knop hieronder drukt, zie je een voorbeeld van de werking van het script.
Druk nogmaals op de knop om het effect te stoppen
 

Dit is een bewerking van een script dat ik vond op de site www.javascriptsource.com, (voorheen javascript.internet.com), waar het te vinden was onder de naam "Crazy Window". Op die site is dit script niet meer beschikbaar.

Die uitvoering is nogal kort door de bocht geprogrammeerd, zonder enige beheersmogelijkheid. De hier getoonde versie is op dat punt aanzienlijk verbeterd.

De code van het script en de popup staan onderaan deze bladzijde. Je kunt hem ook downloaden om zelf te gebruiken.

Gebruik:

De code ziet er als volgt uit:
 
(Zet dit in de <HEAD> van de pagina die de popup opent).

<script>
Geopend = false;
function ToonVoorbeeld() {
  if (Geopend) {
    MijnVenster.close();
    Geopend = false;
  } else {
    MijnVenster = window.open("html138a.htm","",
    "top=50,left=50,toolbar=no,location=no,directories=no,status=no,"+
    "menubar=no,scrollbars=no,resizable=no,width=450,height=200")
    Geopend = true;
  }
}
</script>
(Zet dit in de BODY van de pagina die de popup opent, op de plaats waar je hem nodig hebt).
<div align="center">
  <button name="Voorbeeld" value="Voorbeeld" type="button"
  onClick="ToonVoorbeeld()">Voorbeeld AAN / UIT</button>
</div>
(Zet dit in de HEAD van de popup)
<script>
// Original Idea: Eric B. Dennis
// Enhanced by Ben's Hobbyhoekje, Ben Boukes (c) 2004
 
speed = 20; // Movement speed of window. Lower number== higher speed
// Below data MUST be exact the same as used in de open function of the popup.
popupWidth = 450; // Dimensions of popup window
popupHeight = 200;
popupTop = 50; // Screen Location of popup window
popupLeft = 50;
 
// ------ No edit below this line ------
function InitJump() {
  if (document.layers || document.getElementById) {
    maxX = screen.availWidth - popupWidth/2;
    maxY = screen.availHeight - popupHeight/2;
    locX = popupLeft;
    locY = popupTop;
    a = 0;
    setInterval("Jump()", speed);
  }
}
 
function Jump() {
  a += 1; // Deteremine step size and move window
  if (a > maxX || a > maxY){ // Prevent a from becoming too big
    a= 1;
    locX = popupLeft;
    locY = popupTop;
  }
  dx = Math.floor(Math.random() * a * 2 - a);
  dy = Math.floor(Math.random() * a * 2 - a);
  locX += dx; locY += dy; // Control Location of Window
  if (locX > maxX) locX = maxX - popupLeft - popupWidth;
  if (locX < -popupWidth/2) locX = popupLeft;
  if (locY > maxY) locX = maxY - popupTop - popupHeight;
  if (locY < -popupHeight/2) locY = popupTop;
  self.moveTo(locX,locY);
}
</script>
(Neem in de BODY-tag het attribuut op:)
onLoad="InitJump()"

Downloaden:
 
Druk op de knop: Download deze code  File: voorb138.zip, 1129 bytes.

Opmerking:
 
Ook hier geldt: wees voorzichtig met de toepassing. Te veel beweging maakt een web-pagina onrustig. Dat geldt zeker met deze methode! Dat zal je bezoekers er niet van weerhouden om snel te vertrekken, maar daar vroeg je zelf al om door deze techniek toe te passen...

 
terug

html-138; Laatste wijziging: 17 maart 2022