Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste
Wochenend Counter
#1
Hi, ich habe einen Wochenendcounter gefunden der auch im Forum Läuft.
Sieht aus wie ein Lauftest. Leider zeigt er nur die Sekunden bis zum WE an.

Kann einer den umschreiben, das man Tage, Stunden , Minuten und Sekunden sieht ? Oder gibt es sowas schon ?

Hier der Sekunden Counter bis zum WE

Zitat:<html>
<head>
<title>Counter</title>
<script language="JavaScript">
<!--
function we() {
var meindatum, tag, stunde, minute, sekunde;
meindatum=new Date;
tag=meindatum.getDay();
stunde=meindatum.getHours();
minute=meindatum.getMinutes();
sekunde=meindatum.getSeconds();
if ((tag>5 || tag==0) && stunde>15 && minute>0 && sekunde>0) {
out="Es ist Wochenende!!!!";
}
else {
zeit=tag*(24*60*60)+stunde*(60*60)+minute*(60)+sekunde;
soll_zeit=5*(24*60*60)+15*(60*60)+0*(60)+0;
rest_zeit=soll_zeit-zeit;
out="Noch "+rest_zeit+" Sekunden bis zum Wochende!";
}
document.form1.time.value=out;
setTimeout("we()",1000);
}
-->
</script>
</head>
<body onLoad="we()">
<form name="form1">
<input style="border: none;" readonly="readonly" size="45" name="time" />
</form>
</body>
</html>
Zitieren
#2
Mit Javascript kenne ich mich kaum aus, mit PHP sollte es machbar sein. Wo soll der Counter denn erscheinen?

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#3
Na ja das hier klappt schon ohne Probleme, ich hab ihn einfach in den Header eingefügt.

Würde nur halt gern, das man Tage, Stunden und Sekunden bis zum WE sieht, anstatt nur Sekunden. Darum dachte ich jemand hat lust den umzuschreiben.

Zitieren
#4
Versuchs mal so: Öffne die Datei global.php und suche nach:
PHP-Code:
eval("\$header = \"".$templates->get("header")."\";"); 
Davor einfügen:
PHP-Code:
// Wochenend-Countdown
$tag date("w");

if(
$tag == "0" || $tag == "6") {
    
$weekendcount "Es ist Wochenende!";
} else {
    
$toweekend $tag;
    
$weekendtime mktime(000date("m"), date("d") + $toweekenddate("Y"));
    
$difference $weekendtime time() - 3600;
    
$tage date("j"$difference);
    
$stunden date("G"$difference);
    
$minuten date("i"$difference);
    
$sekunden date("s"$difference);
    
$weekendcount "Noch ".$tage." Tag(e), ".$stunden." Stunde(n), ".$minuten." Minute(n) und ".$sekunden." Sekunde(n) bis zum Wochenende.";
}
// Wochenend-Countdown 
Öffne dann das Template header und füge die Variable $weekendcount an der Stelle ein, an der der Counter erscheinen soll.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#5
Das ist ja geil. Hast du das ebend mal schnell geschrieben ? Respekt !

Aber..... die Sekunden zählen nicht runter, aktuallisieren sich nur, wenn man halt die seite neu läd und es sind noch 1 Tag und 5 std bis zum we. Wäre cool, wenn das We Fraitag um 17 uhr anfangen würde. Kann man das noch realisieren ?
Zitieren
#6
Und wie ist das mit dem ? Zeigt er nun bis SOnntag 24 uhr we an und ab monat wieder die Zeit bis freitag ?
Zitieren
#7
ach so, er zählt nun ab freitag nach 24 uhr das we. Das ist auch gut.

Vielen Dank. Echt geil ! Die Sekunden kann man aber nicht ändern ? das die runterlaufen und nicht nur, wenn man aktuallisiert.
Zitieren
#8
Für oben genanntes Skript ist Wochenende von Samstag 0 Uhr bis Sonntag 24 Uhr.

Dass die Sekunden runterlaufen ist leider nicht möglich. Der Grund ist einfach: PHP wird auf dem Server ausgeführt, Javascript auf dem Computer des Betrachters.

Gruß,
Michael
[Bild: banner.png]
Support erfolgt NUR im Forum!
Bitte gelöste Themen als "erledigt" markieren.
Beiträge mit mangelhafter Rechtschreibung/Grammatik werden kommentarlos gelöscht.
Zitieren
#9
Als kleine Hilfe vielleicht das hier
PHP-Code:
    $countdown "<script language='JavaScript' type='text/javascript'>

<!--

var eventdate = new Date('"
.$stop."');

function toSt(n)

{    s=''

    if(n<10) s+='0'

    return s+n.toString();

}

function countdown()

{

    d=new Date();

    count=Math.floor((eventdate.getTime()-d.getTime())/1000);

    if(count<=0)

    {

        var time_event = document.getElementById('time_event');

        var event_time = document.getElementById('event_time');

        time_event.style.display = 'none';

        event_time.style.display = '';

        return;

    }

    secs_count = toSt(count%60);

    count=Math.floor(count/60);

    mins_count = toSt(count%60);

    count=Math.floor(count/60);

    hours_count = toSt(count%24);

    count=Math.floor(count/24);

    days_count = count;

    document.countdown.days.value = days_count;

    document.countdown.hours.value = hours_count;

    document.countdown.mins.value = mins_count;

    document.countdown.secs.value = secs_count;

    window.setTimeout('countdown()',500);
}

//-->

</script>"


Zitieren
#10
Jan schrieb:Als kleine Hilfe vielleicht das hier
PHP-Code:
    $event_stop += (date('I')) ? 3600 0;



    
$b_day date('d'$event_stop);

    
$b_month date('n'$event_stop);

    
$b_year date('Y'$event_stop);

    
$b_hour date('H'$event_stop);

    
$b_minute date('i'$event_stop);

    
$b_second date('s'$event_stop);



    switch (
$b_month)

    {

        case 
1:$b_month 'January';break;

        case 
2:$b_month 'February';break;

        case 
3:$b_month 'March';break;

        case 
4:$b_month 'April';break;

        case 
5:$b_month 'May';break;

        case 
6:$b_month 'June';break;

        case 
7:$b_month 'July';break;

        case 
8:$b_month 'August';break;

        case 
9:$b_month 'September';break;

        case 
10:$b_month 'October';break;

        case 
11:$b_month 'November';break;

        case 
12:$b_month 'December';break;

    }



    
$stop $b_month.' '.$b_day.', '.$b_year.' '.$b_hour.':'.$b_minute.':'.$b_second;
    
$countdown "<script language='JavaScript' type='text/javascript'>

<!--

var eventdate = new Date('"
.$stop."');

function toSt(n)

{    s=''

    if(n<10) s+='0'

    return s+n.toString();

}

function countdown()

{

    d=new Date();

    count=Math.floor((eventdate.getTime()-d.getTime())/1000);

    if(count<=0)

    {

        var time_event = document.getElementById('time_event');

        var event_time = document.getElementById('event_time');

        time_event.style.display = 'none';

        event_time.style.display = '';

        return;

    }

    secs_count = toSt(count%60);

    count=Math.floor(count/60);

    mins_count = toSt(count%60);

    count=Math.floor(count/60);

    hours_count = toSt(count%24);

    count=Math.floor(count/24);

    days_count = count;

    document.countdown.days.value = days_count;

    document.countdown.hours.value = hours_count;

    document.countdown.mins.value = mins_count;

    document.countdown.secs.value = secs_count;

    window.setTimeout('countdown()',500);
}

//-->

</script>"


Zitieren