interner link verrutscht ganze seite..??
es
- html
hallo, guten morgen allerseits! :)
ich bin gerade am basteln dieser seite:
http://new.red-button.de/reviews/
wie man sieht möchte ich erreichen dass man per navigation die entsprechenden beiträge anwählen kann - dank interner verlinkung eigentlich kein problem.
eigentlich, denn ich stelle fest dass der InternetExplorer dabei auch so seine probleme hat.
im firefox verhält sich die seite wie gewünscht, nur der IE verschiebt mir beim klicken auf den eintrag01 ("testkonzi01") die komplette seite nach oben - was zu vermeiden wäre.
ich hab festgestellt dass durch das einfügen vieler leerzeilen am textende das problem beseitigt werden kann - aber das ist erstens nicht hübsch und zweitens bei unterschiedlichen, größeren auflösungen auch keine garantie für eine funktionierende seite.
weiß jemand wie ich bei beiden browsern ein zufriedenstellendes ergebnis erreichen kann?
auf der suche im web bin ich auf keinerlei anhaltspunkte gestoßen... ich hoffe jemand kann da abhilfe schaffen.
danke fürs lesen,
nice days,
es
Hallo es!
Ich hatte mal ein ähnliches Problem und habe es damals mit JavaScript gelöst.
function divlink(div,anker) {
document.location.href=div.href;
document.location.href=anker;
return false;
}
Wobei div der scrollende Div und anker eben die anker sind ;o)
Würde dies unbedingt in einen onclick Eventhandler setzen und den anker als "this.href" auslesen, dann funktioniert das ganze bei ausgeschaltetenm JS auch weiterhin in "normalen" Browsern.
Schönen Gruß
Afra
uff... o0
javascript? na hervorragend, da kenn ich mich ja garnicht aus... =)
also - ich muss in dein codeschnipsel also die div-id und den ankernamen einsetzen (mit oder ohne # ?), stimmt das soweit?
naja, werd ich mal eben testen.
aber wie und wo soll das dann als "eventhandler" definiert werden? und wie muss ich was auslesen? wär glaub ich schon besser wenn das auch bei deaktiviertem java gehen würde...
aber mal so grundsätzlich: muss da java wirklich sein? und warum passiert das überhaupt? immer diese browserdifferenzen, nicht schön...
es
Hallo es!
javascript? na hervorragend, da kenn ich mich ja garnicht aus... =)
also - ich muss in dein codeschnipsel also die div-id und den ankernamen einsetzen (mit oder ohne # ?), stimmt das soweit?
naja, werd ich mal eben testen.
natürlich mit #
aber wie und wo soll das dann als "eventhandler" definiert werden? und wie muss ich was auslesen? wär glaub ich schon besser wenn das auch bei deaktiviertem java gehen würde...
Ein bisschen Grundlagenwissen hatte ich vorraus gesetzt. Vor allem, weil Du sehr viele dieser vorgefertigen Macromedia (MM) Codeschnipsel verwendest. Dreamweaver? Aufruf:
<a href="#03" onclick="divlink('text',this.href)"> 03.01.06</a><br />
aber mal so grundsätzlich: muss da java wirklich sein? und warum passiert das überhaupt? immer diese browserdifferenzen, nicht schön...
Nee, JAVA beim besten Willen nicht. Die Clientseitige Scriptsprache JavaScript reicht völlig.
Stimmt, nicht schön. Aber der IE möchte eben den Anker an die oberste Stelle des Browserfensters ziehen. Das kannst Du so umgehen. Es gibt sicherlich noch andere Wege. Das ist aber einer davon ;)
Schönen Gruß
Afra
Hi,
Ein bisschen Grundlagenwissen hatte ich vorraus gesetzt. Vor allem, weil Du sehr viele dieser vorgefertigen Macromedia (MM) Codeschnipsel verwendest.
Widerspricht sich das nicht? ;-)
cu,
Andreas
Hallo Andreas!
Oh, das war böse. ;o) Ich wollte Ihn nur darauf hinweisen, dass er selbst schon zu genüge JavaScript verwendet.
Schönen Gruß
Afra
mensch... da bedient man sich, weils so schön einfach ist, der netten mouseover-funktionen vom dreamweaver - und das ist dann der dank?
=)
so. neuer stand - alles beim alten...
erstmal: ja, ich hab da mit dreamweaver gearbeitet :)
bis auf einige ausnahmen hab ichs auch dabei belassen, nur manchmal ist der dreamweaver-code wirklich sehr unsauber - da leg ich dann doch nochmal hand an...
aber zum thema, derzeit sieht mein quelltext an den entsprechenden stellen so aus:
head:
<script type="text/javascript">
function divlink(text,#001) {
document.location.href=#001.href;
document.location.href=#001;
return false;
}
</script>
und der entsprechende link im body:
<a href="#001" onclick="divlink('text',this.href)">...
also - so funktioniert das nicht. wo hab ich was falschgemacht?
das zu scrollende div-element nennt sich "text". der betroffene interne link "#001"... hm.
was mich auch wirklich sehr wundert: auf der genannten seite (http://new.red-button.de/page/mainframes/reviews.html#003) hab ich ja mal drei beispiele verlinkt. die ersten beiden links funktionieren einwandfrei - nur der letzte link (= ganz unten im div) verursacht das genannte problem.
ich werd nicht schlau draus...
aber schonmal danke für die hilfe!
Hallo es!
<script type="text/javascript">
function divlink(text,#001) {
document.location.href=#001.href;
document.location.href=#001;
return false;
}
</script>
also - so funktioniert das nicht.
Du hast es nicht so umgesetzt wie ich es beschrieben habe.
Schönen Gruß
Afra
Hallo es!
Ich hatte dir einen Fehler eingebaut. Aber Du hattest es auch nicht richtiog gemacht. ;o)
<a href="#001" onclick="return divlink(this, this.href)">Link</a>
Und die Funktion dann:
function divlink(a, anker) {
document.location.href=a.href;
document.location.href=anker;
return false;
}
Ich hatte irgendwie noch den Bezug zum Div drin, was ja sinnlos ist. Sorry. So geht es dann.
Schönen Gruß
Afra
soso, fehler inclusive ;)
aber ganz egal, denn... naja.. ich krieg das nicht gebacken.
erstmal:
<a href="#001" onclick="return divlink(this, this.href)">Link</a>
das kann ich ja so wie's hier steht übernehmen. denke ich. oder wäre daran auch noch was zu ändern? 001 stimmt ja bereits. also sollte das doch so passen..?
und das:
function divlink(a, anker) {
document.location.href=a.href;
document.location.href=anker;
return false;
}
will nicht funktionieren. ja, darf man ruhig lachen - ich weiß ja dass ich mich warscheinlich wirklich nur dumm anstelle. aber wenn ich nichts übersehen habe hab ich den code in allen möglichen variationen probiert. anstelle des "anker" gehört ja wohl der zugewiesene ankername. mit oder ohne #, in hochkommas oder anführungszeichen oder auch ganz ohne - keine reaktion...
so.. latein am ende? oder wäre da noch mehr zu ändern, nicht nur das "anker"..?
ratlos aber dankbar,
es :)
Hallo es!
so.. latein am ende? oder wäre da noch mehr zu ändern, nicht nur das "anker"..?
Du musst an der Methode/Funktion rein gar nichts ändern. Das ist das schöne an Funktionen, die sollten mit übergebenen Parametern laufen.
Prinzipiell sollte der IE aber dennoch richtig ohne JavaScript scrollen. Das Problem das Du beschreibst kann ich nicht nachvollziehen. Kommt aber vielleicht vor, wenn die gesamte Seite einen Scrollbalken hat, dann wäre es nur richtig wenn der Anker bis nach oben springt, da ja dann der Inahlt wieder lesbar werden würde, wenn er tatsächlich ganz ausserhalb der Seite wäre. An sich kein schlechter Effekt.
Wie gesagt, ich verwende diesen Codeschnipsel in einem iframe bei einem Kundenprojekt, wo wir das selbe Problem hatten.
Schönen Gruß
Afra
Hi,
so. neuer stand - alles beim alten...
<script type="text/javascript">
function divlink(text,#001) {
#001 ist kein zulässiger Parametername.
Hätte Dir ein Blick in die Javascript-Konsole verraten.
cu,
Andreas
Hallo Andreas!
Ich bin enttäuscht. keiner der SelftHTMLer hat bemekrt, dass ich einen bösen Fehler eingebaut hatte ;o(
Schönen Gruß
Afra
PS: Paasiert Euch das auch regelmässig, dass das Forum Fehler im Format des Postings liefert, obwohl es an sich richtig aussieht? (So wie gerade)
uff... o0
javascript? na hervorragend, da kenn ich mich ja garnicht aus... =)
also - ich muss in dein codeschnipsel also die div-id und den ankernamen einsetzen (mit oder ohne # ?), stimmt das soweit?
naja, werd ich mal eben testen.
aber wie und wo soll das dann als "eventhandler" definiert werden? und wie muss ich was auslesen? wär glaub ich schon besser wenn das auch bei deaktiviertem java gehen würde...
aber mal so grundsätzlich: muss da java wirklich sein? und warum passiert das überhaupt? immer diese browserdifferenzen, nicht schön...
es