• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

DIV per Klick UND Zeit ein-/ausblenden

MrPaule75

New member
Hallo,

ich habe für einen seitlichen DIV-Slider ein kleines jquery-Script gefunden, welches das DIV per Mausklick rein- und rausfährt.
Jetzt möchte ich, dass zu dem Klick das DIV AUCH automatisch nach 60 Sekunden einmalig rein- und nach weiteren 5 Sekunden rausfährt. Sind diese drei Funktionen parallel möglich oder geht nur entweder Klick ODER Zeitfaktor?

Script für Mausklick
Code:
<script>
$(document).ready(function(){
$('#einausblenden').click(function(){
$('#anzeigen').toggle('slow');
})
});
</script>

Danke & Gruß
Paul
 
Ungefähr so:
Code:
<script>
$(document).ready(function () {
    $('#einausblenden').click(function () {
        $('#anzeigen').toggle('slow');
    });
    setTimeout(function () {
        $('#anzeigen').show('slow', function () {
            setTimeout(function () {
                $('#anzeigen').hide('slow');
        }, 5000);
    }, 60000);
});
</script>
Aber was soll passieren bzw. was passiert wenn innerhalb der ersten 60 Sekunden jemand den CLICK auslöst?
 
Hallo & sorry, dass ich mich erst jetzt melde. Hatte seither keine Zeit für das Problem.

Also, wie Du (@miniA4kuser) ungefähr aufgeführt hast, klappt das nicht. Das heißt, die Ein-/Ausblendenfunktion funktioniert nun gar nicht mehr. Lösche ich das setTimeout raus, funktioniert das Ein-/Ausfahren per Click wieder.

Ich bin jetzt leider kein Programmierer, also habe ich gegoogelt. Kann es sein, dass man beide function separieren muss?
function1 und funktion2 ?

Aber was soll passieren bzw. was passiert wenn innerhalb der ersten 60 Sekunden jemand den CLICK auslöst?

Ach so, ich verstehe. Wenn jemand den Click auslöst, sollte die function gestoppt sein. Wäre ja blöde, wenn jemand die Info selber ausklappt und dann alle 60 Sek. erneut angezeigt bekommt.
Aber wie es scheint, wird das jetzt vielleicht doch zu komplex.
 
Zuletzt bearbeitet von einem Moderator:
vielleicht doch zu komplex.
So komplex ist das nicht. Mit window.clearTimeout() kannst du das Timeout stoppen. Das Ganze könnte dann in etwa so aussehen:
Code:
<script>
$(document).ready(function(){
    var timeoutID = window.setTimeout(function(){
        $('#anzeigen').show('slow', function(){
            timeoutID = window.setTimeout(function(){
                $('#anzeigen').hide('slow');
        }, 5000);
    }, 60000);
    $('#einausblenden').click(function(){
		window.clearTimeout(timeoutID);
        $('#anzeigen').toggle('slow');
    });
});
</script>
 
Zurück
Oben