Hyperlink In Javascript & Html
#1
geschrieben 30. Januar 2009 - 22:10
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Monatskalender</title>
<meta name="Microsoft Theme" content="sky 1011, default" />
</head>
<body>
<html>
<head>
<title>Hier mein Titel</title>
</head>
<body>
<h1 style="font-family:Verdana,Arial; font-weight:normal">Monatskalender</h1>
<script type="text/javascript">
var d = new Date();
var dm = d.getMonth() + 1;
var dj = d.getYear();
if (dj < 999)
dj += 1900;
Kalender(dm, dj);
function Kalender (Monat, Jahr) {
Monatsname = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli",
"August", "September", "Oktober", "November", "Dezember");
Tag = new Array("Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
var KSchrArt = "Verdana,Arial"; /* Schriftart Kalenderkopf */
var KSchrGroesse = 3; /* Schriftgroesse 1-7 Kalenderkopf */
var KSchrFarbe = "#FFFF00"; /* Schriftfarbe Kalenderkopf */
var Khgrund = "#000066"; /* Hintergrundfarbe Kalenderkopf */
var TSchrArt = "Verdana,Arial"; /* Schriftart Tagesanzeige */
var TSchrGroesse = 3; /* Schriftgroesse 1-7 Tagesanzeige */
var TSchrFarbe = "#000000"; /* Schriftfarbe Tagesanzeige */
var Thgrund = "#D0F0F0"; /* Hintergrundfarbe Tagesanzeige */
var SoFarbe = "#E00000"; /* Schriftfarbe f. Sonntage */
var Ahgrund = "#FFFF00"; /* Hintergrundfarbe f. heutigen Tag */
var jetzt = new Date();
var DieserMonat = jetzt.getMonth() + 1;
var DiesesJahr = jetzt.getYear();
if (DiesesJahr < 999)
DiesesJahr += 1900;
var DieserTag = jetzt.getDate();
var Zeit = new Date(Jahr, Monat - 1, 1);
var Start = Zeit.getDay();
if (Start > 0) {
Start--;
} else {
Start = 6;
}
var Stop = 31;
if (Monat == 4 || Monat == 6 || Monat == 9 || Monat == 11)
--Stop;
if (Monat == 2) {
Stop = Stop - 3;
if (Jahr % 4 == 0)
Stop++;
if (Jahr % 100 == 0)
Stop--;
if (Jahr % 400 == 0)
Stop++;
}
document.write('<table border="3" cellpadding="1" cellspacing="1">');
var Monatskopf = Monatsname [Monat - 1] + " " + Jahr;
SchreibeKopf(Monatskopf, Khgrund, KSchrFarbe, KSchrGroesse, KSchrArt);
var Tageszahl = 1;
for (var i = 0; i <= 5; i++) {
document.write("<tr>");
for (var j = 0; j <= 5; j++) {
if ((i == 0) && (j < Start)) {
SchreibeZelle(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt);
} else {
if (Tageszahl > Stop) {
SchreibeZelle(" ", Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt);
} else {
if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
SchreibeZelle(Tageszahl, Ahgrund, TSchrFarbe, TSchrGroesse, TSchrArt);
} else {
SchreibeZelle(Tageszahl, Thgrund, TSchrFarbe, TSchrGroesse, TSchrArt);
}
Tageszahl++;
}
}
}
if (Tageszahl > Stop) {
SchreibeZelle(" ", Thgrund, SoFarbe, TSchrGroesse, TSchrArt);
} else {
if ((Jahr == DiesesJahr) && (Monat == DieserMonat) && (Tageszahl == DieserTag)) {
SchreibeZelle(Tageszahl, Ahgrund, SoFarbe, TSchrGroesse, TSchrArt);
} else {
SchreibeZelle(Tageszahl, Thgrund, SoFarbe, TSchrGroesse, TSchrArt);
}
Tageszahl++;
}
document.write("<\/tr>");
}
document.write("<\/table>");
}
function SchreibeKopf (Monatstitel, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) {
document.write("<tr>");
document.write('<td align="center" colspan="7" valign="middle" bgcolor="' + HgFarbe + '">');
document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b>');
document.write(Monatstitel);
document.write("<\/b><\/font><\/td><\/tr>");
document.write("<tr>");
for (var i = 0; i <= 6; i++)
SchreibeZelle(Tag[i], HgFarbe, SchrFarbe, SchrGroesse, SchrArt);
document.write("<\/tr>");
}
function SchreibeZelle (Inhalt, HgFarbe, SchrFarbe, SchrGroesse, SchrArt) {
document.write('<td align="center" valign="middle" bgcolor="' + HgFarbe + '">');
document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b>');
document.write(Inhalt);
document.write("<\/b><\/font><\/td>");
}
</script>
</body>
</html>
</body>
</html>
Anzeige
#2
geschrieben 31. Januar 2009 - 09:33
Der Grundaufbau lautet:
<html> <head> </head> <body> </body> </html>
das html kommt ganz am anfang hin, und es gibt nur einen head-tag und auch nur einen body-tag. Dein Code muss ja am Anfang nicht 100% valide sein, aber an den Grundlegenden aufbau muss man sich unbedingt halten.
Bei dir müsste es ungefähr so ausschaun:
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252" /> <title>Monatskalender</title> <meta name="Microsoft Theme" content="sky 1011, default" /> </head> <body>
Wenn du aus dem Kopf nen link machen willst, dann müsste das wohl in diese Zeile:
document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b><a href=\"Linkadresse\">');
document.write(Monatstitel);
document.write("</a><\/b><\/font><\/td><\/tr>");
Ich hoffe ich konnte dir helfen.
Gruß,
m4rkus
Dieser Beitrag wurde von m4rkus bearbeitet: 31. Januar 2009 - 09:36
#3
geschrieben 31. Januar 2009 - 10:49
document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b><ahref=\"test.htm\">');
document.write(Monatstitel);
document.write("</a><\/b><\/font><\/td><\/tr>");
Aber es ist kein Link zum klicken. Ich möchte im Titel auch ncoh so Preile z. B: ">", "<" einfügen auf die man dann klicken muss um in den nächsten Monat zu kommen.
Wo ist der Fehler?
#5
geschrieben 31. Januar 2009 - 11:07
Jetzt ist aber die Ganze Titelzeile ein Link. Es soll aber nur ein Teil davon ein Link sein. Hinter der 2009 soll also noch ein > und das soll dann auch der Link sein.
Wie ist das am einfachsten Möglich?
ps: gib es eigentlich kein Editor für sowas? Also genauso wie Frontpage, ich erstelle links ect.. mit der Maus und dem Programmenü und bekomme dann noch die Möglichkeit mir den Code zeigen zu lassen. Frontpage macht das ja leider mit javascript nicht. Da wird nur der code angezeitgt aber im Vorschaumode würd nur der html Teil angezeigt.
Dieser Beitrag wurde von driv3r bearbeitet: 31. Januar 2009 - 11:10
#6
geschrieben 31. Januar 2009 - 11:17
du kannst deine javascriptfunktionen auch in nem link aufrufen. z. b.:
<a href="java script:beliebigefunktion();"> bla </a>
ein < und > kannst du mitt htmlentities darstellen (> und <)
Ein bisschen arbiet lass ich dir aber auch noch
Dieser Beitrag wurde von m4rkus bearbeitet: 31. Januar 2009 - 11:18
#7
geschrieben 31. Januar 2009 - 11:31
--
Wo muss die htmlentities denn hin? und wie mache ich das dann das diese < und > auch ein Link sind?
--
Wenn ich das habe kann ich über diese Links doch wieder ein java script nehmen und die "beliebigefunktion" Kalender() wieder nehmen nur diesmal mit einem anderen Monat oder? Diesen Code habe ich schon gemacht - das immer ein Monat weiter angezeigt wird.
thx schonmal =)
#8
geschrieben 31. Januar 2009 - 12:03
Zitat
ka, obs solche tools gibt. für javascript direkt wohl eher nicht. is ja ne skirptsprache, da kann man nicht einfach alles so zusammenklicken wie bei html. ich meinte jetzt egentlich mehr htmleditoren. Wenn du wirlich lernen und verstehen willst, wie das ganze aufgebaut ist und fuktioniert, dann rate ich dir es am anfang von hand zu schreibne. vor allem wenns nur eine Tabelle is wie bei dir.
Soweit ich deinen Code verstanden habe, müsste das ganze dann so ausschauen:
<a href='java script:Kalender("Mai", "2009");'><</a>
(ohne das leezeichen zwischen java und script, das wird hier anscheinend automatisch vom forum hinzugefügt.)
in dem fall würde dann als link ein "<" (<) erscheinen.
Dieser Beitrag wurde von m4rkus bearbeitet: 31. Januar 2009 - 12:06
#9
geschrieben 31. Januar 2009 - 12:16
Das mit dem Script als Link lasse ich am besten erstmal und möchte erstnmal nur einen Link als "<" haben.
Wenn das jetzt mein Code ist:
document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b><a href=\"test.htm\">');
document.write(Monatstitel);
- dann ist ja der ganze Titel ein Link. Was muss ich da jetzt also ändern damit ich nur ein ">" habe als Link.
#10
geschrieben 01. Februar 2009 - 18:15
Das Kalenderscript hast du anscheinend nicht selbst geschrieben, sonst wär dir bestimmt klar wies geht. Aber halb so wild.
mit document.write("hier kann dann belieber text oder html code stehen") kannst du text im browser ausgeben. Wenn du jetzt hier z. B. document.write("<a href=google.de> google </a>")
einträgst würde ein link zu google erscheinen. in deinem fall würde das mit den zwei pfeilen wohl so aussehen:
//das hier ist für den < pfeil document.write('<a href=java script:Kalender("monat", "2009");><</a>'); //dann kommt der monatstitel document.write('<font size="' + SchrGroesse + '" color="' + SchrFarbe + '" face="' + SchrArt + '"><b><a href=\"Linkadresse\">'); document.write(Monatstitel); document.write("</a>"); //jetzt der link mit > document.write('<a href=java script:Kalender("irgendeinmonat", "2009");>></a>'); //nun noch die Tabelle abschließen document.write("<\/b><\/font><\/td><\/tr>");
So wie ich den code verstanden hab, musst der ncoh ein bisschen umgebaut werden, damit du in der fuktion auch überhautp zugriff darauf hast, welcher monat als nächstes kommt. Bin ihn aber egentlich nur überflogen.
Ich bin jetzt kein javascript profi, aber so in etwa müsste das dann ausschauen. (habs jetzt nicht extra getestet. Bei den vielen ANführungszeiche innerhalb der Klammern musst du halt ein bisschen ausprobieren (an einer stelle ' und an der anderen " verwenden) oder die Anführungszeichen mittels eines backslashes escapen (\")
Zitat
zeig doch mal den code, würd mich interessieren.
Für was brauchst den kalender eigentlich? reine spielerei oder soll der mal wirklich zum einsatz kommen?
Wenn ich mal zeit hab schau ich mal, wies wirklich funktioniert. Habs nämlich bis jetzt gar nicht getestet.
Gruß,
markus
Dieser Beitrag wurde von m4rkus bearbeitet: 01. Februar 2009 - 18:30
#11
geschrieben 02. Februar 2009 - 14:42
Den abgeändert Code muss ich denk ich mal nicht komplett posten da ich eigentlich nur eine Zahl geändert habe. var dm = d.getMonth() + 2;
Mein Ziel: Ich wollte das man per Klick in die nächsten Monate kommt. Ich habe es auch schon geschafft. Aber 1. nur mit HTML (der Link ist nur unter dem Kalender statt neben dem Monatsnamen) 2. benötige ich dabei pro Monat eine neue .html Datei. (sind ja nur verlingt)
Sobald ich Zeit habe werde ich mal versuchen den Link nach deinen Angaben in den Script einzubauen. Aber im Endefekkt habe ich dann das selbe nur das der Link an einer besseren Stelle ist. Aber ich denke das müsste reichen. =)