a href="#" springt immer zum seitenanfang
bert
- html
Hi,
habe mir eine infobox gebaut, deren inhalt wechselt, jenachdem welches mitglied man auswählt (mit css von selfhtml)
<div id="nl-box"><a href="#"><strong>Max</strong><span>Informationen</span></a></div>
wenn man jetzt den Namen Max anklickt springt die Seite immer wieder ans obere Ende. Kann man das irgendwie unterdrücken?
Danke und Gruß
Hi,
habe mir eine infobox gebaut, deren inhalt wechselt, jenachdem welches mitglied man auswählt (mit css von selfhtml)
<div id="nl-box"><a href="#"><strong>Max</strong><span>Informationen</span></a></div>
wenn man jetzt den Namen Max anklickt springt die Seite immer wieder ans obere Ende. Kann man das irgendwie unterdrücken?
Danke und Gruß
<a href="#max"> zu max </a>
<!-- irgendwelches HTML-Zeug -->
<div id="max"> der max </div>
du hast dem Anker nicht wirklich gesagt wo er hin soll, das Beispiel sollte selbsterklärend sein.
MfG
thecreep
so springt die Seite auch an eine bestimmte Position, soll sie aber nicht.
wenn man jetzt den Namen Max anklickt springt die Seite immer wieder ans obere Ende. Kann man das irgendwie unterdrücken?
Ja in dem du keinen Anker verwendest, wozu brauchst du den wenn er dich stört?
Struppi.
irgendwas muss ich dem Link doch zuweisen. wenn ich einfach nur <a>max</a> mache ist der link kein link..
ich möchte, dass beim klick die nur das span angezeigt wird. der Scrollbalken soll da bleiben, wo er vom user hingesetzt wurde. geht das?
irgendwas muss ich dem Link doch zuweisen. wenn ich einfach nur <a>max</a> mache ist der link kein link..
Die Frage war, warum du einen Link brauchst?
Struppi.
Habe das Script von selfhtml: http://aktuell.de.selfhtml.org/artikel/css/infobox/
Warum das ein Link ist hilft mir auch leider nicht mit meiner Frage weiter: Was gebe ich bei href="" an, damit der Scrollbalken nicht verschoben wird?
Oder ist das unmöglich? Falls ja: Wie würdest du den Code von selfhtml denn umbesteln, damit ich keinen Link benötige?
Danke und Gruß
Namaste,
Habe das Script von selfhtml: http://aktuell.de.selfhtml.org/artikel/css/infobox/
Das ist kein Script, das ist blankes HTML mit CSS! Wenn du -wie ich glaube- denselben Effekt bei einen Klick haben möchtest brauchst du JavaScript. Dann kannst du dir übrigens auch den "Link" schenken.
thebach
Das mit dem Klicken hab ich ganz einfach hinbekommen (Bezeichnung als Script hin oder her, kann es auch gerne Quellcode nennen..)
Kann ja einfach bei CSS
#nl-box a:active {}
angeben.
Namaste,
Kann ja einfach bei CSS
#nl-box a:active {}
angeben.
Das ist nicht das was du willst. :active greift nur genau in den Moment inden der Link angeklickt wird. Und nur dann.
http://de.selfhtml.org/css/eigenschaften/pseudoformate.htm#link_visited_focus_hover_active
Sorry, ich muss mich wirklich undeutlich ausdrücken:
Dass auf Klick hin die Kontaktdaten angezeigt werden funktioniert bereits! Ob ich da focus, active, hover oder sonstwas stehen habe tut für mein Problem überhaupt nichts zur Sache.
Es geht einzig und ganz alleine um das automatische hochscollen beim klicken des Links, was ich unterdrücken will.
Hi!
Es geht einzig und ganz alleine um das automatische hochscollen beim klicken des Links, was ich unterdrücken will.
Dein Problem ist, dass du zum alleinigen Klicken keinen Link benötigst, sondern nur einen Eventhandler onclick in dem Element, in dem darauf reagiert werden soll. Das a-Element fällt ganz weg, damit auch dein Problem mit dem Anspringen eines Zieles. Als Beispiel:
<div onclick="foo()">inhalt</div>
Lo!
Namaste,
Dass auf Klick hin die Kontaktdaten angezeigt werden funktioniert bereits!
Scheint wohl doch so zu funktionieren :-|
Das Problem dabei ist, das die Infobox nur mit HTML arbeitet. Der Anzeigeeffekt wir mittels CSS realisiert. Theoretisch kann man auch anderen Elemnten diese Pseudoklassen ala :active zuweisen nur:
"Im Internet Explorer bis einschließlich Version 6 funktioniert keine dieser allgemeingültigen Pseudoklassen und in Version 7 lediglich :hover."
Wie der IE8 das handhabt weiss ich ehrlich gesagt grad nicht.
Man müsste dann die CSS Eigenschaften halt so anpassen, dass es wie ein Link aussieht.
thebach
Hi!
Sorry, ich muss mich wirklich undeutlich ausdrücken:
Da gibts noch andere Moeglichkeiten...
Dass auf Klick hin die Kontaktdaten angezeigt werden funktioniert bereits! Ob ich da focus, active, hover oder sonstwas stehen habe tut für mein Problem überhaupt nichts
zur Sache.
Ja. Mit einem _Link_ und :active.
Es geht einzig und ganz alleine um das automatische hochscollen beim klicken des Links, was ich unterdrücken will.
Ein Link ist aber nicht was Du willst, wenn Du kein Javascript benutzen moechtest. Das wurde Dir hier jetzt mehrfach versucht zu erklaeren. Ein Link macht entweder gar nichts oder er verlinkt etwas. Eine Seite oder eine Marke im gleichen Dokument.
Versuch halt eine inputbox und focus. Keinen Schimmer ob das klappt... Semantisch ist das jedenfalls nicht. Normalerweise wird hier JS genutzt.
Habe das Script von selfhtml: http://aktuell.de.selfhtml.org/artikel/css/infobox/
Warum das ein Link ist hilft mir auch leider nicht mit meiner Frage weiter: Was gebe ich bei href="" an, damit der Scrollbalken nicht verschoben wird?
In dem Fall ist einfach kein Link notwendig, da das CSS auch mit jedem anderen Element funtkioniert und da es sowieso nichts zum klicken gibt, wäre es auch besser ein anderes zu verwenden.
Was übrigens auf der Seite auch im Beispiel 3 gezeigt wird.
Struppi.
Hola!
Was übrigens auf der Seite auch im Beispiel 3 gezeigt wird.
Beispiel 3 produziert einen Hoverefekt, der bei mir (IE6) nicht funktioniert und beinhaltet einen gewoehnlichen Link auf eine Seite mit Box. Das ist nicht, was gewuenscht war. ;)
Was übrigens auf der Seite auch im Beispiel 3 gezeigt wird.
Beispiel 3 produziert einen Hoverefekt, der bei mir (IE6) nicht funktioniert und beinhaltet einen gewoehnlichen Link auf eine Seite mit Box. Das ist nicht, was gewuenscht war. ;)
Ob man den IE 6 für sowas unbedingt unterstützen muss? ich mach's nicht mehr.
Aber wieso ist das nicht was gewünscht war? Das Beispiel beinhaltet doch eben keinen (überflüssigen) Link.
Struppi.
Hi,
Ob man den IE 6 für sowas unbedingt unterstützen muss? ich mach's nicht mehr.
Genau, dem kann man normalerweise dann gut den Inhalt der Infobox immer sichtbar präsentieren.
MfG ChrisB
Hi,
Warum das ein Link ist hilft mir auch leider nicht mit meiner Frage weiter: Was gebe ich bei href="" an, damit der Scrollbalken nicht verschoben wird?
Doch, täte es - weil diese Frage sich erübrigt, wenn du die erste richtig beantwortet hast.
Was hingegen nicht weiterhilft ist, wenn du die Rückfragen einfach ignorierst und nur die Beschreibung deines vermeintlichen(!) Problems noch mal wiederholst. Also unterlasse das bitte künftig, und gehe auf Rückfragen ein - und wenn auch nur mit einer weiteren Rückfrage, weil du sie nicht verstanden hast.
MfG ChrisB
Namaste,
irgendwas muss ich dem Link doch zuweisen. wenn ich einfach nur <a>max</a> mache ist der link kein link..
ich möchte, dass beim klick die nur das span angezeigt wird. der Scrollbalken soll da bleiben, wo er vom user hingesetzt wurde. geht das?
Am besten, du erklärst nochmal in aller Ruhe was du genau tun möchtest!
thebach
Das Script von selfhtml benutzen, damit ich eine Liste von Mitglieder angezeigt bekomme, deren Kontaktdaten in einem position:absolute span angezeigt werden, wenn man den Namen anklickt.
Problem-> Beim Klick wird automatisch ganz nach oben gescrollt. Das will ich nicht. Ich will, dass sich der Scrollbalken durch einen Klick NICHT verändert.
Falls ich mich wirklich zu unverständlich ausdrücke sagt Bescheid, dann bastel ich eine Beispiel-Datei mit Kommentaren. Mein Problem ist aber (meiner Meinung nach) nicht gerade Kompliziert. Will einfach nur, dass der Link die Seite so belässt, wie sie vorm klicken war.
https://forum.selfhtml.org/?t=191450&m=1276746
Das klicken ist doch gar nicht mein Problem. Ich Formuliere meine Frage nochmal neu (einfach alles vorhergehende vergessen):
Gibt es die Möglichkeit, einen Link mit HTML zu erstellen, der im Browser aussieht wie ein Link, alle CSS-definierten Eigenschaften eines Linkes trägt, aber beim Klick ABSOLUT GAR NICHTS auslöst?
Ich dachte immer, das geht mit href="#", dadurch wird aber zum Seitenbeginn gescrollt.
Danke und Gruß
Das klicken ist doch gar nicht mein Problem. Ich Formuliere meine Frage nochmal neu (einfach alles vorhergehende vergessen):
Gibt es die Möglichkeit, einen Link mit HTML zu erstellen, der im Browser aussieht wie ein Link, alle CSS-definierten Eigenschaften eines Linkes trägt, aber beim Klick ABSOLUT GAR NICHTS auslöst?
Ich dachte immer, das geht mit href="#", dadurch wird aber zum Seitenbeginn gescrollt.
Danke und Gruß
Dass müsste eigentlich ganz simpel gehen:
<a onclick="javascript: ShowInfoBox()">irgendwas</a>
die ShowInfoBox()-Funktion musst du dann natürlich selber schreiben. In dem Falle halt, dass die Infobox angezeigt wird (deswegen auch der Name >.<)
wahrscheinlich muss in deinem JavaScript dann sowas stehen wie document.getElementById("infobox").className="ShowIB";
Wobei dann ShowIB eine CSS-Klasse ist dass die Infobox angezeigt wird.
MfG
thecreep
Das klicken ist doch gar nicht mein Problem. Ich Formuliere meine Frage nochmal neu (einfach alles vorhergehende vergessen):
Gibt es die Möglichkeit, einen Link mit HTML zu erstellen, der im Browser aussieht wie ein Link, alle CSS-definierten Eigenschaften eines Linkes trägt, aber beim Klick ABSOLUT GAR NICHTS auslöst?
Also willst du keinen Link.
Eventuell willst du schlicht ein a Element OHNE href Attribut.
Aber auch das ist überflüssig, denn onclick Attribute sind Universalattribute.
mfg Beat
Mahlzeit bert,
Gibt es die Möglichkeit, einen Link mit HTML zu erstellen, der im Browser aussieht wie ein Link, alle CSS-definierten Eigenschaften eines Linkes trägt, aber beim Klick ABSOLUT GAR NICHTS auslöst?
Nein. Ein Link ist ein Link, weil er irgendwohin verlinkt. Ein Link, der nicht linkt, ist kein Link.
Ich dachte immer, das geht mit href="#", dadurch wird aber zum Seitenbeginn gescrollt.
Nein, es wird zum http://de.selfhtml.org/html/verweise/projektintern.htm#anker@title=Anker mit dem Namen bzw. der ID "" gesprungen. Das ist für die meisten Browser der Dokumentbeginn.
Wenn Du nicht willst, dass irgendwohin gesprungen wird, nutze keinen Anker - so einfach ist das.
MfG,
EKKi
Hallo bert,
... Will einfach nur, dass der Link die Seite so belässt, wie sie vorm klicken war.
das tut ein Link aber nicht. Er belässt die Seite nicht, er verlässt sie.
Du hast jetzt zwei Möglichkeiten:
den Link durch etwas anderes ersetzen, z.B. einen Button. Da bleiben alte IEs aber draußen vor, die können hover nur bei Links.
den Link per Javascript deaktivieren:
<a href="" onclick="return false">...</a>
Gruß, Jürgen
- den Link per Javascript deaktivieren:
<a href="" onclick="return false">...</a>
DANKE JÜRGEN.
Simple Antwort! Klappt wunderbar!
Hi!
<a href="" onclick="return false">...</a>
DANKE JÜRGEN.
Simple Antwort! Klappt wunderbar!
Oeh... Ich war der Meinung, Du willst kein Javascript?
ich will nur nicht das ganze ding mit js aufbauen. einen tag im htmlcode einfügen hab ich nix gegen ;-)
Hallo Steel,
Oeh... Ich war der Meinung, Du willst kein Javascript?
aber diese Lösung zeigt die Box mit und ohne Javascript und nur Besucher ohne JS werden eben etwas verscrollt. Wobei allerdings eine Lösung, die die alten IEs draußen vor lässt, besser wäre.
Gruß, Jürgen
@@bert:
nuqneH
wenn man jetzt den Namen Max anklickt springt die Seite immer wieder ans obere Ende. Kann man das irgendwie unterdrücken?
Nicht auf den Seitenanfang verlinken.
http://forum.de.selfhtml.org/archiv/2009/2/t183636/#m1216485 ff.
http://forum.de.selfhtml.org/archiv/2009/9/t190830/#m1272105 ff.
Qapla'