| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer User Registriert seit: Dec 2007
Beiträge: 3
| Flashstar Kalender umbauen / eine horizontale Reihe + KW
Hallo, würde gerne den Flashstar-Kalender (swf im Anhang) etwas umbauen, so wie in der Kalender-Grafik (ebenfalls im Anhang). Die Tage des Monats sollen also nicht mehr untereinander in mehreren Zeilen stehen, sondern in einer langen Zeile. Ausserdem soll der jeweilige Tag über der Zahl stehen und über jeder einzelnen Woche die Kalenderwochenzahl (KW) angezeigt werden. Wenn ich die Spaltenzahl verändere stehen die Zahlen zwar in einer Reihe, aber die Zuordnung zu den Tagen (MO-SO) passt nicht mehr. Bisher habe ich es außerdem nur geschafft, die aktuelle Kalenderwoche anzeigen zu lassen, nicht aber für jede Woche die dazugehörige Kalenderwoche. –> siehe swf im Anhang Weiss da jemand weiter? Ich dachte eigentlich ich beherrsche Flash schon ganz gut, merke aber jetzt, dass ich noch ziemlich am Anfang bin! Würde mich sehr über Hilfe freuen, auch wenn es nur einen Teil meiner fragen betrifft :-) Hier das Script: Code: // Prototypes
Date.prototype.getMonthDays = function(pJahr,pMonat) {
return (new Date(pJahr,pMonat+1,0).getDate());
};
Date.prototype.getDayName = function(pTag) {
return ["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"][pTag]
}
Date.prototype.getMonthName = function(pMonat) {
return ["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"][pMonat]
}
function fKalenderWoche(_d0)
{ var tag = 86400000;
var _d1 = new Date(_d0.getTime()+(3-(_d0.getDay()+6)%7)*tag);
var _d2 = new Date(_d1.getFullYear(), 0, 4);
var _d3 = new Date(_d2.getTime()+(3-(_d2.getDay()+6)%7)*tag);
return Math.floor(1.5+(_d1.getTime()-_d3.getTime())/tag/7);
}
//
// Anwendungsbeispiel
for (var _jahr = 2001; _jahr<=2010; _jahr++)
{ var _txt = "Im Jahr "+_jahr+" beginnt die 1. Woche am: ";
var _tag = 0;
while (++_tag)
{ if (fKalenderWoche(new Date(_jahr, 0, _tag)) == 1)
{ trace(_txt+_tag+(_tag == 1 ? ".sten" : ".ten")+" Tag");
break;
} } }
// Verwenden
datum = new Date();
jahr = datum.getFullYear();
monat = datum.getMonth();
aktTag = datum.getDate();
aktWochentag = datum.getDay();
aktMonat = datum.getMonth();
aktJahr = datum.getFullYear();
ersterTag = new Date(jahr,monat,0).getDay();
tage =datum.getMonthDays(jahr,monat);
// Heute
aktMonatName = datum.getMonthName(aktMonat);
aktTagName = datum.getDayName(aktWochentag);
datumtxt = aktTagName + ", " + aktTag + ". " + aktMonatName + " " + aktJahr
// Kalenderwoche
function kalenderwoche(datum){
if(datum){
Datum = datum
Datum = Datum.split(".");
tag1 = Datum[0];
mon1 = Datum[1];
yea1 = Datum[2];
Datum = new Date(yea1,mon1-1,tag1);
} else {
Datum = new Date();
}
DoDat=donnerstag(Datum);
kwjahr=DoDat.getFullYear();
DoKW1=donnerstag(new Date(kwjahr,0,4));
kwtxt=Math.floor(1.5+(DoDat.getTime()-DoKW1.getTime())/86400000/7);
return kwtxt;
}
function donnerstag(datum) {
var Do=new Date();
Do.setTime(datum.getTime() + (3-((datum.getDay()+6) % 7)) * 86400000);
return Do;
}
// FUNKTIONEN ENDE
trace(kalenderwoche("01.01.2006")); // Ergibt korrekt 52
trace(kalenderwoche()); //zeigt die aktuelle Kalenderwoche
// Calzeichnen
function makeDays (pPosX,pPosY) {
var t = 0;
var spalten = 0;
var reihen = 0;
for (var i = 0; i < 40; i++) {
this["Tag" + i].removeMovieClip();
}
for (var i = 0; i < tage+ersterTag; i++) {
if (i >= ersterTag) {
t++;
this.attachMovie ("TagClip", "Tag" + i, i);
this["Tag" + i].num = t;
this["Tag" + i]._x = pPosX + spalten * this["Tag" + i]._width;
this["Tag" + i]._y = pPosY + reihen * this["Tag" + i]._height;
}
if (t == aktTag && aktMonat == monat && aktJahr == jahr) this["Tag" + i].gotoAndStop(2);
spalten++;
if (spalten == 7) {
spalten = 0;
reihen++;
}
}
}
// Calaktualisieren
function setzeCal() {
ersterTag = new Date(jahr,monat,0).getDay();
tage =datum.getMonthDays(jahr,monat);
monattxt = datum.getMonthName(monat);
jahrtxt = jahr;
schaltjahr = datum.getMonthDays(jahr,1);
schaltjahrtxt = (schaltjahr == 29) ? "Schaltjahr" : "";
makeDays(8,20);
}
// Ausführen
setzeCal(0,50);
// Schalter (Monate)
weiter_btn.onRelease = function() {
if (monat < 11) monat++;
setzeCal()
}
zuruck_btn.onRelease = function() {
if (monat > 0) monat--;
setzeCal();
}
// Schalter (Jahre)
weiterj_btn.onRelease = function() {
jahr++;
setzeCal()
}
zuruckj_btn.onRelease = function() {
jahr--;
setzeCal();
}
// MinMax Schalter
minmax_btn.onRelease = function() {
minsignal = !minsignal;
if (minsignal) {
gotoAndStop(3);
} else {
gotoAndStop(2);
}
fslogo_mc._visible = 0;
weiter_btn.enabled = true;
zuruck_btn.enabled = true;
weiterj_btn.enabled = true;
zuruckj_btn.enabled = true;
}
// Credits Schalter
fslogo_mc._visible = 0;
fslogo_btn.onPress = function() {
fslogo_mc._visible = !fslogo_mc._visible;
weiter_btn.enabled = !weiter_btn.enabled;
zuruck_btn.enabled = !zuruck_btn.enabled;
weiterj_btn.enabled = !weiterj_btn.enabled;
zuruckj_btn.enabled = !zuruckj_btn.enabled;
} |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Frage zu Flashstar XML Kalender v1.2 | sammybee | Flash mit XML und Webservices | 13 | 06-04-2007 11:02 |
| flashstar kalender | Daniel W. | Flash Einsteiger | 2 | 14-03-2007 13:59 |
| probleme bei flashstar kalender | la-nightlife.de | Flash Einsteiger | 2 | 09-10-2006 22:46 |
| Kalender von Flashstar | olai.com | Flash 8 | 3 | 04-10-2006 07:21 |
| Umlaute und Sonderzeichen/ flashstar Kalender | speedhugo | Flash Einsteiger | 2 | 29-09-2006 18:59 |