unsichtbare tabelle sichtbar machen
amlug
- programmiertechnik
0 Cheatah0 amlug0 Cheatah
0 Jürgen Berkemeier0 amlug0 Cheatah0 Jürgen Berkemeier
guten morgen leute
ich hab mit
style="display:none" ne tabelle ausgeblendet und würd jetzt gern nen link machen, um die wieder einzublenden. ich hab das ganze auf ner anderen hp gesehen und es nach deren vorbild so versucht:
<a href="immorechner.htm" onclick="return dspl('Gebiete-Tabelle', this.href)">Tabelle anzeigen</a>
das funtkioniert aber nich. wenn ich das ganze test, sagt er mir, dass er ein objekt in der zeile danach erwartet (ich hab das ganze in ner tabelle. vor dem </td> um die spalte zu schliesen, will er das jetzt)
kann mir vielleicht jemand helfen?
mfg amlug
Hi,
ich hab mit
style="display:none" ne tabelle ausgeblendet und würd jetzt gern nen link machen, um die wieder einzublenden.
da Du hiermit eine Abhängigkeit von JavaScript schaffst, hast Du diese CSS-Eigenschaft selbstverständlich auch erst mit JavaScript gesetzt.
<a href="immorechner.htm" onclick="return dspl('Gebiete-Tabelle', this.href)">Tabelle anzeigen</a>
das funtkioniert aber nich.
Was macht die Funktion dspl()?
Cheatah
hey
danke für die rasche antwort?
Was macht die Funktion dspl()?
ich brauch ne funktion dafür? wie schön =)
ich hab keine in dem quelltext gefunden, auf der hp wo ichs herhab. hat mich zwar gewundert, aber ich dachte dann halt, ich brauch keine. aber danke für die info. ich werds nochmal versuchen.
mfg amlug
Hi,
danke für die rasche antwort?
ja, hoffe ich jedenfalls :-)
Was macht die Funktion dspl()?
ich brauch ne funktion dafür? wie schön =)
Natürlich. JavaScript ist keine Magie. Es führt lediglich Befehle aus, die dann selbstverständlich bekannt sein müssen.
Cheatah
Hallo,
Was macht die Funktion dspl()?
dspl ist die (meine) Abkürzung für display. Die Funktion müsste Amlug in seinem Browsercache finden.
Wenn nicht:
dspl.js:
var an=0;
function dspl(id,ref) {
if(an==1) window.location.href=ref;
if(document.getElementById){
document.getElementById(id).style.display="inline";
an=1;
return false;
}
else return true;
}
und im html:
<a href="/Physik/DEK/InstListe-de.html" onclick="return dspl('InstListe',this.href)">Institute</a><br>
<table id="InstListe" style="display:none" border="0" cellspacing="0" cellpadding="1">
... (im wesentlichen der Inhalt von InstListe-de.html)
Zu sehen unter http://www.uni-muenster.de/Physik
Sinn des Ganzen ist eine schnellere Navigation.
Gruß, Jürgen
hey jürgen.
danke das du mir nochma hilfst, bzw es versuchst. bin so dämlich, dass ich nich weis, obs klappt
=)
Was macht die Funktion dspl()?
dspl ist die (meine) Abkürzung für display. Die Funktion müsste Amlug in seinem Browsercache finden.
ich hab nach der funktion schon n paar mal gesucht, aber sie ne gefunden. aber egal. danke für die angabe hier!!
mfg amlug
Hi,
Was macht die Funktion dspl()?
an welcher Stelle genau hast Du Verständnisprobleme?
Cheatah
hey
Was macht die Funktion dspl()?
an welcher Stelle genau hast Du Verständnisprobleme?
das hast du mich gefragt, aber danke der nachfrage. hab nämlich welche =)
1. die funktion dspl, aber beim onclick wird return display aufgerufen
2. nirgends wird die tabelle namentlich erwähnt (reicht das getid?)
3. wieso heist es style.display="inline"
die tabelle hat doch display:none
4. was ist die variable an?
sprich: was hat die zu bedeuten und wozu wird die benutzt
sorry, wegen den ganzen fragen. aber ich bin nunmal java anfänger. vielleicht würd ich das ganze auch ohne irgendwie zum laufen bringen (tuts nämlich grad nich bei mir :) ), aber ich wills lieber verstehen, als das ich dann was hab, was zwar geht, aber ich nich check.
mfg amlug
Hi,
- die funktion dspl, aber beim onclick wird return display aufgerufen
nö.
- nirgends wird die tabelle namentlich erwähnt (reicht das getid?)
Gegenfrage: Weißt Du überhaupt, was das ist bzw. was es macht?
- wieso heist es style.display="inline"
die tabelle hat doch display:none
Ja, eben. Das willst Du ja _ändern_. Warum allerdings "inline" gesetzt wird, ist mir auch nicht ganz klar.
- was ist die variable an?
sprich: was hat die zu bedeuten und wozu wird die benutzt
Sie wird beim ersten Anklicken auf 1 gesetzt. Beim nächsten Mal wird dies erkannt und es passiert etwas völlig anderes. Die Funktion, die Du verwenden möchtest, macht nicht exakt das, was Du Dir wünschst; sie ist - wie praktisch alles, was Du irgendwo findest - auf einen ganz speziellen Anwendungsfall gemünzt, der mit Deinem nicht übereinstimmen muss.
aber ich bin nunmal java anfänger.
Von Java habe ich ebenfalls keinen reellen Schimmer. Hier geht es aber um eine völlig andere Sprache, nämlich JavaScript.
Cheatah
Hallo,
Ja, eben. Das willst Du ja _ändern_. Warum allerdings "inline" gesetzt wird, ist mir auch nicht ganz klar.
ist es hier nicht egal, ob "inline" oder "block" gesetzt wird?
Gruß, Jürgen
Hi,
ist es hier nicht egal, ob "inline" oder "block" gesetzt wird?
ja, weil beides falsch ist. Richtig wäre "table" (oder "inline-table"), welchem "block" allerdings näher ist.
Cheatah
Hallo,
jetz weiß ich auch wieder, warum ich damals "inline" genommen habe. Ich habe viel ausprobiert, weil der IE mit "table" nichts anfangen kann:
"Die display Eigenschaften wurden nicht gefunden. Ungültiges Argument."
Gruß, Jürgen
hey
Gegenfrage: Weißt Du überhaupt, was das ist bzw. was es macht?
es greift auf ein objekt mit der entsprechenden id zu. aber diese sollte doch in klammern dahinter angegeben werden, oder?
Ja, eben. Das willst Du ja _ändern_. Warum allerdings "inline" gesetzt wird, ist mir auch nicht ganz klar.
das ich das ändern will ist mir auch klar (ich hoff du interpretierst das jetzt nich als ärgerlich daher geschrieben - kommt leider oft so rüber. aber ich bin dir echt dankbar für deine hilfe!)
ich hab nur auch nicht verstanden, warum es "inline" ist.
Die Funktion, die Du verwenden möchtest, macht nicht exakt das, was Du Dir wünschst; sie ist - wie praktisch alles, was Du irgendwo findest - auf einen ganz speziellen Anwendungsfall gemünzt, der mit Deinem nicht übereinstimmen muss.
zum glück macht sie das, was ich brauch :)
aber danke für den hinweis
mfg amlug
Hallo,
nochmal zur Erklärung:
dspl.js:
var an=0; // Speichert, ob die Funktion schon mal aufgerufen wurde
function dspl(id,ref) {
if(an==1) window.location.href=ref; // beim 2. Aufruf wird die Seite in ref geladen
if(document.getElementById){
document.getElementById(id).style.display="inline"; // Beim ersten Aufruf wird Element mit Id id sichtbar gemacht
an=1; // gespeichert, dass das Element sichtbar ist
return false; // und false zurückgegeben
}
else return true; // Rückgabe von true, falls Browser kein DOM unterstützt
}
und im html:
<a href="/Physik/DEK/InstListe-de.html" onclick="return dspl('InstListe',this.href)">Institute</a><br>
Der Rückgabewert des Eventhandlers (hier onclick) entscheidet darüber, ob auf die mit href angegebene Seite umgeschaltet wird. Ziel war, das Browser ohne JS- oder ohne DOM-Unterstützung direkt die Seite InstListe-de.html aufrufen. Browser mit DOM-Unterstützung sollen beim ersten Click die Tabelle sichtbar machen, um beim zweiten Click ebenfalls die Seite InstListe-de.html aufrufen.
<table id="InstListe" style="display:none" border="0" cellspacing="0" cellpadding="1">
... (im wesentlichen der Inhalt von InstListe-de.html)
Gruß, Jürgen
Hi,
es greift auf ein objekt mit der entsprechenden id zu. aber diese sollte doch in klammern dahinter angegeben werden, oder?
tut sie auch - in Form einer Variable, die übergeben wurde.
ich hab nur auch nicht verstanden, warum es "inline" ist.
Ach so. Ich kann mir nur vorstellen, dass dies der Kompatibilität zu minderwertigen Browsern mit miserabler CSS-Unterstützung (i.e. IE) dient.
Die Funktion, die Du verwenden möchtest, macht nicht exakt das, was Du Dir wünschst;
zum glück macht sie das, was ich brauch :)
Sie macht viel zu viel zu viel.
Cheatah
Hallo,
man kann JS-Funktionen auch in externe Dateien auslagern. Siehe hierzu:
http://selfhtml.teamone.de/javascript/intro.htm#javascriptdateien
Gruß, Jürgen