Klappmenü dynamisch, wo ist mein Fehler?
Jason
- javascript
Mein Menüscript:
<!----menu---->
<script type="text/javascript">
function auf(x) {
if(document.getElementById(x).style.display == "block") {
document.getElementById(x).style.display = "none";
} else {
document.getElementById(x).style.display = "block";
}}
</script>
Und das Menü:
<tr><td>
<a href="#" onclick="auf('x1');return false;" onMouseOver="image1.src='[dir]/images/blup.png';"
onMouseOut="image1.src='[dir]/images/blup.png';">
<img name="image1" src="[dir]/images/blup.png" border="0"></a>
<div style="display:none;position:relative;left:0px;" id="x1">
Link
Link
</div>
</td>
</tr>
Ich hab jetzt schon über Stunden rumprobiert und mich dusselig gegoogelt...
Was muss ich wie umschreiben, dass das Menü aufklappt bei onMouseOver und wieder automatisch zuklappt bei onMouseOut???
Quasi - dynamisch ^^
wer auch immer hilft - DANKE!!!!!!!!!!!!!!!
J.
Mahlzeit,
<a href="#" onclick="auf('x1');return false;" onMouseOver="image1.src='[dir]/images/blup.png';"
onMouseOut="image1.src='[dir]/images/blup.png';">
[...]
Was muss ich wie umschreiben, dass das Menü aufklappt bei onMouseOver und wieder automatisch zuklappt bei onMouseOut???
Den entsprechenden Eventhandlern den Funktionsaufruf übergeben? Hier wird das ja beim Klicken aufgeklappt ...
MfG,
EKKi
Den entsprechenden Eventhandlern den Funktionsaufruf übergeben? Hier wird das ja beim Klicken aufgeklappt ...
MfG,
EKKi
wie müsste es denn eigentlich sein, dass ein Menü dynamisch auf und zuklappt, wenn man mit der Maus darüber hinweg fährt???
Mahlzeit,
Den entsprechenden Eventhandlern den Funktionsaufruf übergeben? Hier wird das ja beim Klicken aufgeklappt ...
wie müsste es denn eigentlich sein, dass ein Menü dynamisch auf und zuklappt, wenn man mit der Maus darüber hinweg fährt???
Wie ich schon schrieb: Du musst den entsprechenden Eventhandlern (also den z.B. den "onmouseover"- und "onmouseout"-Attributen) den gewünschten Funktionsaufruf (also den Wert "auf('x1');") übergeben.
Lass mich raten: Du hast nichts von dem von Dir geposteten Code verstanden, geschweige denn programmiert, und weißt eigentlich überhaupt nicht, was Du tust?
Wieso steht eigentlich ganz oben auf der Forumsstartseite "Unser Forum ist eine Ergänzung zu SELFHTML." und "Von dir als Teilnehmer erwarten wir HTML-Grundkenntnisse [...]", wenn Du dies einfach ignorierst?
MfG,
EKKi
stimmt, den code hab ich nicht selbst gemacht,
den hab ich aus zahlreichen anderen codes per
trial&error methode zusammen gefrikkelt - ob ich
das als mein eigenes ausgeben kann - was weiss ich.
Nein, ich hab kein HTML gelernt, ich habs mir die
ganzen Sachen einfach selbst angeeignet. Doch
manchmal gehen manche Sachen über meine Trial und Error
Methode hinaus. Manchmal hilft auch kein google mehr
weiter. Da kann ich noch so viel lesen und ausprobieren.
Aber scheinbar hast du deine HTML-Kentnisse angeboren
bekommen, mit Löffeln gefressen und noch einen Lehrer gehabt,
mir völlig egal.
Meine Mittel sind beschränkt, scheinbar genauso wie
Deine sozialen Fähigkeiten. Zum Glück bist Du nicht
die einzige wissende Person.
Das einzige was ich wissen will, was muss ich anstatt
"auf" in onclick="auf('x1');return false;"
(wenn es das ist) hinschreiben, dass ein Menü dynamisch
wird? - ich kenn nicht alle Befehle, lediglich hidden,
block, none etc.pp
Nein, EKKi, brauchst gar nicht ne Antwort schreiben,
spar dir deine kostbare zeit "Auf Auf!"
Hallo
stimmt, den code hab ich nicht selbst gemacht,
den hab ich aus zahlreichen anderen codes per
trial&error methode zusammen gefrikkelt - ob ich
das als mein eigenes ausgeben kann - was weiss ich.
'Trial und Error' ist mehr als suboptimal. Warum investierst du die Zeit in der du rumprobierst und dich dusselig googlest nicht in die Lektüre des Javascriptkapitels von SelfHTML?
Meine Mittel sind beschränkt, scheinbar genauso wie
Deine sozialen Fähigkeiten. Zum Glück bist Du nicht
die einzige wissende Person.
Wie beschränkt sind den deine Mittel, dass du nicht mal ein paar Anleitungen lesen kannst?
Fasse meine Antwort bitte nicht als Beleidigung auf sondern als konstruktive Kritik.
"Auf Auf!"
"Auf Auf und davon!"
thebach
wofür soll ich mir komplettes Java-script wissen aneignen, wenn ich nur
Bruchteile davon brauch. Daher eigne ich mir auch nur das an, was ich
brauche, in der wenigen Zeit die ich habe.
Ich hab es jetzt anders gelöst, obwohl ich genau weiss, dass das
Script, welches ich schon hab, dynamisch sein kann ^^ ich hatte das
nur ausgestellt, weil es in dem Moment unpassend war.
Jetzt wusste ich nur nicht mehr, wie ich es wieder dynamisch stellen
konnte....egal. Alles gelöscht und neu angefangen:
Vielleicht hilft es ja jemanden, wenn der mal auf der Suche
nach dynamischen Menüs is.
CSS.script:
/*---------------------------------------------
dynamic.menu.1
---------------------------------------------*/
#sec1 {display: none;}
li.li1:hover > #menu1 {
display: block;
}
/*---------------------------------------------
dynamic.menu.1.end
---------------------------------------------*/
Script:
<tr>
<td width="140">
<div>
<ul id="menu1">
<li class="li1">
<a href="www.google.com"><img src="[dir]/image/test1.gif></a>
<div id="menu1">
<ul>
<li class="li1"><a href="www.fireball.de"><img src="[dir]/image/test2.gif></a></li>
<li class="li2"><a href="www.yahoo.com"><img src="[dir]/image/test3.gif></a></li>
</ul>
</div>
</li>
</ul>
</div>
</td>
</tr>
Trial&Error FTW!!!
Jason!
noch schnell was fixen, CSS war falsch
CSS.script:
/*---------------------------------------------
dynamic.menu.1
---------------------------------------------*/
#menu1 {display: none;}
li.li1:hover > #menu1 {
display: block;
}
/*---------------------------------------------
dynamic.menu.1.end
---------------------------------------------*/
Hallo.
wofür soll ich mir komplettes Java-script wissen aneignen, wenn ich nur
Bruchteile davon brauch.
Die Grundlagen, um die es geht, sind genau dieser Bruchteil.
Daher eigne ich mir auch nur das an, was ich
brauche, in der wenigen Zeit die ich habe.
Das Problem ist, dass du zusätzlich die Zeit anderer verbrauchst.
Vielleicht hilft es ja jemanden, wenn der mal auf der Suche
nach dynamischen Menüs is.
Da es ähnliche Code-Schnipsel im hiesigen Archiv und auf vielen anderen Seiten zuhauf in vernünftig dokumentierter Form gibt, ist davon kaum auszugehen.
CSS.script:
Damit wirst du mangelnde Javascript-Kenntnisse nicht ersetzen können.
MfG, at
Mahlzeit,
Nein, ich hab kein HTML gelernt, ich habs mir die
ganzen Sachen einfach selbst angeeignet.
Das habe ich auch.
Aber scheinbar hast du deine HTML-Kentnisse angeboren
bekommen, mit Löffeln gefressen und noch einen Lehrer gehabt,
mir völlig egal.
Nö. Keine der Alternativen trifft zu. Ich habe es mir auch selbst angeeignet. Z.B. indem ich viel Quellcode gelesen habe, auch einiges kopiert und nachgebaut, um zu verstehen, wie es funktioniert. Und SELFHTML ist eine Goldgrube - es gibt eigentlich kaum etwas, was dort nicht erklärt ist - und zwar so, dass JEDER es verstehen kann, der es verstehen will.
Meine Mittel sind beschränkt, scheinbar genauso wie
Deine sozialen Fähigkeiten.
Uiii, da packt aber einer die ganz große Rundumschlag-Keule aus. Bist Du sicher, dass Du das Echo vertragen kannst? Meinst Du, derartiges Gezeter bringt Dich (bei Deinem Problem und allgemein) in irgendeiner Weise weiter?
Zum Glück bist Du nicht die einzige wissende Person.
Ja, zum Glück. Das wäre in der Tat schlecht.
Das einzige was ich wissen will, was muss ich anstatt
"auf" in onclick="auf('x1');return false;"
(wenn es das ist) hinschreiben, dass ein Menü dynamisch
wird?
So einfach ist das nicht, wie Du Dir das anscheinend vorstellst. Es gibt keine "Befehle", um ein "Menü" (was soll das überhaupt sein?) dynamisch zu "machen". Du kannst lediglich statische HTML-Elemente um Javascript-Eventhandler erweitern, die dafür sorgen, dass bei bestimmten Ereignissen (z.B. dem Überfahren mit der Maus, dem Anklicken usw.) bestimmter Javascript-Code ausgeführt wird. In diesem Code wiederum kannst Du dann per http://de.selfhtml.org/javascript/objekte/index.htm@title=DOM auf das gesamte Dokument und alle enthaltenen Elemente zugreifen und diese manipulieren - z.B. ihre Sichtbarkeitseigenschaften, ihr Aussehen oder ihre Position ändern.
Konkret auf Dein Beispiel bezogen: Du musst in Javascript eine Funktion schreiben, die das macht, was Du willst und diese dann im entsprechenden Eventhandler aufrufen (sinnvollerweise mit Referenz auf das aktuelle Element).
Bezogen auf Dein Beispiel:
<script type="text/javascript">
[code lang=javascript]
function auf(x) {
if(document.getElementById(x).style.display == "block") {
document.getElementById(x).style.display = "none";
} else {
document.getElementById(x).style.display = "block";
}}
</script>
<tr><td>
<!-- <a href="#" onclick="auf('x1');return false;" onMouseOver="image1.src='[dir]/images/blup.png';"
onMouseOut="image1.src='[dir]/images/blup.png';">
<img name="image1" src="[dir]/images/blup.png" border="0"></a>
Wieso schreibst Du hier die Funktion "auf()" in den "onclick"-Eventhandler, wenn das Menü doch beim Drüberfahren mit der Maus erscheinen soll? Richtiger wäre es so: -->
<a href="#" onMouseOver="image1.src='[dir]/images/blup.png'; auf('x1');"
onMouseOut="image1.src='[dir]/images/blup.png'; auf('x1');">
<img name="image1" src="[dir]/images/blup.png" border="0"></a>
<div style="display:none;position:relative;left:0px;" id="x1">
Link
Link
</div>
</td>
</tr>
[/code]
ich kenn nicht alle Befehle, lediglich hidden, block, none etc.pp
"hidden", "block" und "none" sind keine Befehle, sondern Formatierungsanweisungen in CSS.
Dir scheint das Gesamtkonzept von <http://de.selfhtml.org/dhtml/intro.htm@title=dynamischen HTML> überhaupt nicht vertraut zu sein.
Nein, EKKi, brauchst gar nicht ne Antwort schreiben,
spar dir deine kostbare zeit "Auf Auf!"
Was ich brauche und was nicht, ist nicht Deine Angelegenheit. Ich schreibe, was, wann und wieviel ich will. Nur weil Du gewisse Grundlagen nicht beherrschst, den vierten Schritt vor dem ersten machen willst und nicht willens oder in der Lage bist, auf zielführende Hilfestellungen einzugehen, Dich darüber zu informieren und sie auszuprobieren, brauchst Du hier nicht rumzupöbeln.
MfG,
EKKi