Habe mal ganz schnell alles editiert und richtig gestellt.
Danke fürs aufmerksam machen, Wachhund.
Beiträge von wolf
-
-
!ACHTUNG! cookies kann der User deaktivieren.. ich würde das versuchen iwi serverseig zu lösen, und die Box auch nur einblenden wenn JS aktiv ist...
-
Tipp:
Mit JS zählen wie oft auf die Werbebox geklickt wurde und in ne File z.B. schreiben.
Wenn die Zahl in der File z.B. 40 überschreitet, die Werbebox einfach ausblenden? -
Okay das problem ist:
Das du mit einer genauen Angabe wie " ul li a{} " eine solche überschreibst: "li a{} "Hier mal Code zum spielen: JSFiddle
HTML<ul> <li><a href="#eins">Punkt 1</a></li> <li><a href="#zwei">Punkt 2</a></li> <li><a href="#drei" class="neu">Punkt 3</a></li> </ul>
CSS
Alles anzeigenul{ list-style-type: none; padding-left: 0; } ul a{ background-color: #FFF; } ul a:link{ background-color: #FF8800; } ul a:visited{ background-color: #FF4000; } ul a:hover{ background-color: #0040FF; } ul a:active{ background-color: #FF0040; } ul a.neu{ background-color: #A901DB; } a{ display: block; width: 200px; text-align: center; border-bottom: 1px solid grey; } /* die Farben bitte nicht übernehmen, sehen schrecklich aus, ging mir nur um den Kontrast ^^ */
EDIT(wegen basii's comment):
Der a-Tag wurde noch zum Blockelement gemacht, und größer, damit man auf die ganze Fläche (nicht nur auf den Text), klicken kann, um ans Ziel zu kommen. -
Bitte, setze deine Code snippets in den dafür vorgesehenen BB-Code oberhalb des Text Eingabe Formulars!
[Blockierte Grafik: http://wolf.wolfgang-m.de/beispiele/bbcode.png]CSS
Alles anzeigen*/ Fehler: */ Nav a:hover { /* >> */ nav a:hover /*ebenso:*/ Nav li { /* >> */ nav li{
Und probier mal das:CSSnav li { /* versuch selfhtml für nav*/ list-style: none; margin: 0.1em; /* Aussenabstand */ padding: 0; /* Innenabstand */ color: #555; } /* und um sicherzugehen: */ nav li a{ color: #333; }
Achte außerhalb auf die Reihnfolge deiner Selektoren Pseudoklassen (:link, hover ...),
ich weiß nicht in wie weit das angeblich wichtig ist, ich hatte allerdings schon Probleme wenn die Reihnfolge falsch war..
(die letzte Definition überschreibt die vorher.)Wenn du zuerst
CSS
Alles anzeigenli a{ color: #FFF; } /* und danach nochmal */ li a{ color: #222; } /* definierst, wird dein Link auch #222 als Farbe haben.. */
Reihnfolge, wie sie funktioniert:
-
Ja, ist mir auch aufgefallen, wird auch offiziell in keinem browser bisher unterstützt.. http://www.w3schools.com/tags/tag_menu.asp
-
-
Try it!
du kannst mit icon="bild.ico" z.B. ein Icon davor machen... -
Oh mahn, jetzt hab ich mich so lang rumgeärgert, naja für die Zukunft
Danke.
-
Ja das ist mir beim 3. mal lesen dann auch aufgefallen
-
OMG ok, sorry
ok, danke, funktioniert[Blockierte Grafik: http://wolf.wolfgang-m.de/beispiele/contextmenu.png]
Lösung für Kontextmenü:(es werden die vorhandenen Menüeinträge mit den neuen erweitert.)Zum ausprobieren: JSFiddle Menü
(Benötigt wird JQuery)Der JS Code um mit den Menüeinträgen Arbeiten zu können:
JavaScript
Alles anzeigen//Die Variablen müssen außerhalb der Funktion (Global) definiert sein, um auch außerhalb mit ihnen arbeiten zu können. var lastClickName = false; var lastClickId = false; //Wenn auf contextmenu ein Rechtsklick ausgeführt wird, abfangen, auf welches Element dieser ging un in Var's speichern. $(document).ready(function(){ document.oncontextmenu = function(e){ lastClickName = e.target.getAttribute("name"); lastClickId = e.target.id; } }); //Bei klick auf ein Element mit der Klasse >> menu_1 $(".menu_1").click(function() { //Bei klick auf ein Element mit der Id >> menup1 //$("#menup1").click(function() { alert("Sie wollen das Element mit\n\nName= "+lastClickName+"\nId= "+lastClickId+"\n\nbearbeiten."); }) //Bei klick auf ein Element mit der Klasse >> menu_2 $(".menu_2").click(function() { //Bei klick auf ein Element mit der Id >> menup2 //$("#menup2").click(function() { alert("Sie wollen das Element mit\n\nName= "+lastClickName+"\nId= "+lastClickId+"\n\nlöschen."); })
Der HTML Code für das Menü:
HTML
Alles anzeigen<!-- Die anklickbare Liste --> <ul> <li contextmenu='rmenu' id="207" name='1'>eins</li> <li contextmenu='rmenu' id="343" name='2'>zwei</li> <li contextmenu='rmenu' id="768" name='3'>drei</li> <li contextmenu='rmenu' id="23" name='4'>vier</li> </ul> <!-- Das Menü --> <menu type="context" id="rmenu"> <menuitem label="Bearbeiten" icon="icon.png" class="menu_1" id="menup1"></menuitem> <menuitem label="Löschen" class="menu_2" id="menup2"></menuitem> </menu>
Ich hoffe damit kann jemand nochmal was anfangen
-
Baaaasii, lesen!
e.target.name
Und ja nen name(="1") hat es, mit der id das funzt
-
Aaaaaaaachso.
Ich hab zu viel gedacht und zu viel rumgespielt
Ok, jetzt scheitere ich an lastClick = e.target.name; >> undefined -
Was hat es mit dem document.oncontextmenu auf sich, kann mir jemand das erklären?
Weil ich bekomme immer false herraus .. JSFiddle
-
Genau. Und da brächte man sowas wie last.this
Ahhh, du hast nachgetragen, super mein last.this gibt es also doch
Danke! -
Das nennt sich html5 <menu> Tag
Dieser implementiert in das vorhandene Menü weitere Punkte. -
Danke Basii aber ich komme damit nicht so weit, dafür fehlt mir dann das Wissen über JS
Hier mal mein vorhaben: JSFiddlle -
Nein nein, ihr versteht was falsch
ich will nicht herausfinden auf welchen Kontextmenü Eintrag geklickt wurde, sondern, auf welches Element der rechts klick ausgeführt wurde
-
Hmm jetzt bekomme ich die Id, von dem Element das vorher mit LINKS angeklickt wurde<< war n bug. Man bräuchte sowas wie beforethis oder so
Aber denke das lässt sich noch modifizieren,The Scout, ja genau, this repräsentiert das aktuelle obj. was allerdings der Kontextmenü Eintrag ist und nicht das Element auf das der Rechtsklick gemacht wurde.
-