template

Index :: Javascript :: Verweis: Vorübergehend deaktivieren

Link blockieren

Die Verweisadresse wird einer eigenen Funktion (hier: DoHrefLock()) übergeben. Diese prüft anhand eines globalen Flags (hier: bHrefLock), ob Verweise ausgeführt werden dürfen:
Falls ja (bHrefLock ist false), wird das Flag gesetzt, ein entsprechener Timeout (zur Aufhebung der Blockade) erzeugt und der Verweis ausgeführt.
Falls nicht (bHrefLock ist true), kehrt sie sofort zurück.

Demo: Dieser Link ist nach dem Anklicken für 4 Sekunden blockiert.

Beispiel:
Javascript im Header
var bHrefLock = false; function DoHrefLock(adr, ms) { if (bHrefLock) return; bHrefLock = true; window.setTimeout("bHrefLock=false", ms); self.location.href = adr; }
Weiter unten, im BODY: Link Version 1
<a href='javascript:DoHrefLock("blabla.php", 4000)'>blabla</a>
Link Version 2
<a href='#' onClick='DoHrefLock("blabla.php", 4000)'>blabla</a>

Button blockieren

Die Verweisadresse wird einer eigenen Funktion (hier: DoBtnLock()) übergeben. Diese speichert das <BUTTON>-Objekt in einer globalen Variablen, disabled den Button, erzeugt einen entsprechenen Timeout (zur Aufhebung der Blockade) und führt den Verweis aus.

Demo: (Button ist nach dem Anklicken 3 Sekunden lang deaktiviert)

Beispiel:
Javascript im Header
var oLockBtn; function DoBtnLock(btn, adr, ms) { (oLockBtn = btn).disabled = true; window.setTimeout("oLockBtn.disabled=false", ms); self.location.href = adr; }
Weiter unten, im BODY, der Button:
<button type='button' onClick='DoBtnLock(this, "blabla.php", 3000)'>blabla</button>

Index :: Javascript


template