WinFuture-Forum.de: Hyperlink In Javascript & Html - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

Hyperlink In Javascript & Html


#1 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 30. Januar 2009 - 22:10

Hallo, ich habe da ein Code in HTML & Javascript. Ich möchte einen Hyperlink in der Titelzeile erstellen. (da wo Jetzt Januar 2009 steht). Da das Objekt nicht in html sondern javaskript ist, weiß ich leider nicht was ich eingeben muss und vorallem wo genau. Hoffe ihr könnt mir helfen. Thx schonmal im Vorraus: Hier der Code:

<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&auml;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>
0

Anzeige



#2 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

  geschrieben 31. Januar 2009 - 09:33

Eins mal vorweg: ich würd zuerst schaun dass das Html valide wird. Das am Anfang ist ja nur gepfusche.
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

2*3=4
0

#3 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 31. Januar 2009 - 10:49

Danke, aber leider scheint da irgentwas nicht zu funktionieren. Habe es jetzt so:
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?
0

#4 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 31. Januar 2009 - 11:02

<a href...

nicht <ahref...

dann wirds auch n link...
2*3=4
0

#5 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 31. Januar 2009 - 11:07

ok thx jetzt hat es funktiniert.

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

0

#6 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 31. Januar 2009 - 11:17

Wenn du sowas lernen möchtest, dann verzichte am besten erstmal auf solche tools und machs per hand in nem einfachen editor mit syntaxhighlighting (meine favoriten:pspad und notepad++)

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 (&gt; und &lt;)

Ein bisschen arbiet lass ich dir aber auch noch :)

Dieser Beitrag wurde von m4rkus bearbeitet: 31. Januar 2009 - 11:18

2*3=4
0

#7 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 31. Januar 2009 - 11:31

Was meinst du mit "solche Tools" - gibt es so welche? Wie heißt denn z. B. so eins?
--

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 =)
0

#8 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 31. Januar 2009 - 12:03

Zitat

Was meinst du mit "solche Tools" - gibt es so welche? Wie heißt denn z. B. so eins?


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");'>&lt;</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 "<" (&lt;) erscheinen.

Dieser Beitrag wurde von m4rkus bearbeitet: 31. Januar 2009 - 12:06

2*3=4
0

#9 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 31. Januar 2009 - 12:16

Wenn ich das an die Gleiche stelle einfüge anstatt den Link von gerade, funktioniert nichts mehr. Der Kalender wird nicht mehr angezeitgt.
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.
0

#10 Mitglied ist offline   m4rkus 

  • Gruppe: aktive Mitglieder
  • Beiträge: 316
  • Beigetreten: 28. Juni 06
  • Reputation: 0

geschrieben 01. Februar 2009 - 18:15

So du, ich dachte aus den bisherigen infos könntest du das schon bewältigen...

Das Kalenderscript hast du anscheinend nicht selbst geschrieben, sonst wär dir bestimmt klar wies geht. Aber halb so wild. :D

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");>&lt;</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");>&gt;</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

iesmal mit einem anderen Monat oder? Diesen Code habe ich schon gemacht - das immer ein Monat weiter angezeigt wird.


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

2*3=4
0

#11 Mitglied ist offline   driv3r 

  • Gruppe: aktive Mitglieder
  • Beiträge: 353
  • Beigetreten: 17. Januar 05
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:NRW

geschrieben 02. Februar 2009 - 14:42

Ich werde es mal ausprobieren. Der Kalender ist mehr als nur spielerei kann man so sagen xD.

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. =)
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0