scrolling mittels buttons
sYlenZ
- dhtml
hi,
folgende Idee: Ich erstelle einen IFrame deaktiviere autoscrolling und binde neben dem frame zwei grafiken / buttons ein mit deren Hilfe man durch den IFrame scrollen kann ... nur wie ist das zu realisieren? Bin für jeden Tip dankbar :)
Ich erstelle einen IFrame deaktiviere autoscrolling und binde neben dem frame zwei grafiken / buttons ein mit deren Hilfe man durch den IFrame scrollen kann ... nur wie ist das zu realisieren?
Ganz einfach, aktiviere Autoscrolling und lass das mit den Buttons.
Dann kann der Benutzer auch mit dem Mausrad scrollen. Und in der von ihm gewünschten Geschwindigkeit.
Die Ersetzung des Scrollbalkens durch eigene Elemente geht immer zu Lasten der Usability.
Nicht der Tip, den du haben wolltest, aber denk mal drüber nach.
Gunnar
Hallo Gunnar,
Ganz einfach, aktiviere Autoscrolling und lass das mit den Buttons.
Die Ersetzung des Scrollbalkens durch eigene Elemente geht immer zu Lasten der Usability.
Das Tieferlegen von Autos geht auch zu Lasten der Usability, zumal in verkehrsberuhigten Zonen und auf Feldwegen. Das wissen die, die das machen und machen es trotzdem.
Gruß Gernot
Das Tieferlegen von Autos geht auch zu Lasten der Usability, zumal in verkehrsberuhigten Zonen und auf Feldwegen. Das wissen die, die das machen und machen es trotzdem.
Bo ey, Gernot.
Nur dass du einen wichtigen Unterschied nicht beachtest: Mit deinem tiefergelegten(1) Auto fährst _du_ selber; deine schlecht scrollbare Webseite lesen _andere_.
Beim Erstellen von Webseiten sollte man nicht davon ausgehen, was man selber chiq findet, sondern immer davon, was den Nutzern behagt.
Gunnar
PS. Ist wie mit der sinnentstellenden(2) Getrenntschreibung nach den (noch) neuen Regeln: Für den Schreiber mag es einfacher sein, für den Leser ist es das nicht. Deshalb sind (1), (2) und (3) zusammengeschrieben(3).
Hallo Gunnar,
Das Tieferlegen von Autos geht auch zu Lasten der Usability, zumal in verkehrsberuhigten Zonen und auf Feldwegen. Das wissen die, die das machen und machen es trotzdem.
Nur dass du einen wichtigen Unterschied nicht beachtest: Mit deinem tiefergelegten(1) Auto fährst _du_ selber; deine schlecht scrollbare Webseite lesen _andere_.
Beim Erstellen von Webseiten sollte man nicht davon ausgehen, was man selber chiq findet, sondern immer davon, was den Nutzern behagt.
Also ich gehe immer davon aus: Wen will ich mit dem erreichen, was ich sage, schreibe oder mache und was will ich damit erreichen.
Um beim Beispiel zu bleiben. Viele wollen mit einem tiefergelegten Auto gar nicht primär die höhere Geschwindigkeit erreichen, wie sie das offiziell vorgeben. Sie wollen damit anderen imponieren, sich selbst darstellen. Wir beide mögen so etwas als eitel empfinden, innerlich darüber schmunzeln und uns sagen: "Dieser Mantafahrer muss wohl was kompensieren!". Aber uns wollen die doch auch gar nichts mitteilen.
Du musst doch zugeben: Es würden nicht so viele tiefergelegte Autos fahren, gäbe es nicht so viele (weibliche wie männliche) Frisösen, die da voll drauf abfahren (im wahrsten Sinne des Wortes).
PS. Ist wie mit der sinnentstellenden(2) Getrenntschreibung nach den (noch) neuen Regeln: Für den Schreiber mag es einfacher sein, für den Leser ist es das nicht. Deshalb sind (1), (2) und (3) zusammengeschrieben(3).
(2) und (3) sind im neuen Duden verzeichnet und müssen definitiv in den von dir gewählten Bedeutungen immer zusammengeschrieben werden.
Zu "tiefergelegt" habe ich im Duden keinen Eintrag gefunden. Ich vermute mal, man kann es nach Gusto schreiben und weil ich mich ja auf mein Gegenüber einstelle, habe ich es dir zuliebe (nicht: dir zu Liebe) zusammengeschrieben.
Gruß Gernot
P.S.: wir beide leisten uns auch manche Selbstdarstellung, die andere als eitel empfinden.
Du musst doch zugeben: Es würden nicht so viele tiefergelegte Autos fahren, gäbe es nicht so viele (weibliche wie männliche) Frisösen, die da voll drauf abfahren (im wahrsten Sinne des Wortes).
:-) Stimmt.
Ich halte es für sinnvoller, sYlenZ mit auf den Weg zu geben, dass es mehr andere als Friseusen gibt, als ihm eine Anleitung zum Tieferlegen in die Hand zu drücken.
Gruß,
Gunnar
Hallo Gunnar,
Du musst doch zugeben: Es würden nicht so viele tiefergelegte Autos fahren, gäbe es nicht so viele (weibliche wie männliche) Frisösen, die da voll drauf abfahren (im wahrsten Sinne des Wortes).
:-) Stimmt.
Ich halte es für sinnvoller, sYlenZ mit auf den Weg zu geben, dass es mehr andere als Friseusen gibt, als ihm eine Anleitung zum Tieferlegen in die Hand zu drücken.
Ja, aber das ist seine Sache, wenn er das will und welche Minderheit er ansprechen will, und wenn er eine Anleitung haben wollte, wie man Hütchen für die Klopapierrollen auf der Hutablage häkelt und ich könnte ihm helfen, dann würde ich das auch machen. Ich würde ihm nicht sagen: "Tu die Klopapierrolle doch ins Handschuhfach oder in den Kofferraum", denn dafür ist dieses Forum da!
Sei doch tolerant! Jeder nach seiner Façon!
Übrigens sYlenZ, ich helfe dir wirklich, du darfst mir auch mailen.
Gruß Gernot
Sorry für die späte Antwort aber ich hatte die Tage recht viel um die Ohren...
Vielen Dank Gernot für das (fast ;)) fertige script. Es tritt allerdings noch ein fehler an der Zeile "scroll = window.setTimeout("scrollen(wert)", 83);" auf, den ich mir nicht erklären kann :(.
Zu dieser Diskussion die ich hier angefacht habe:
Mir ist bewusst, dass scrollen mittels buttons nicht ganz so praktisch ist wie das benutzen der normalen bars, und auf größeren Seiten mit viel Content sind solche buttons sicherlich recht nervig, doch die Seite die ich plane wird nur eine recht kleine Zielgruppe ansprechen und der Umfang des Inhaltes wird sich auch in Grenzen halten.
Ich programmiere gerade eine hp für eine Band von einigen Freunden, das Layout habe ich vorgegeben gekriegt, und scrollbars würden sich tatsächlich nicht sonderlich gut machen. Bei einer solchen Seite kommt es weniger auf den tatsächlichen nutzen, als vielmehr (wie hier ja auch schon erwähnt wurde) um den stylischen Effekt an. Ich finde es ja nett von einigen Usern dieses Forums mir diese Idee ausreden zu wollen, doch ohne die geringste Ahnung von meinen Absichten zu haben ist das wohl etwas vorschnell.
Auch finde ich es sehr beachtlich, dass hier einige User ihr Fachwissen und Freizeit nutzen um anderen Leuten zu helfen (zugegeben das ist der Sinn eines Forums, aber dass ich hier gleich einen fast fertigen Lösungsvorschlag bekommen habe hat mich doch etwas überrascht :)). Ich habe absolut keine Ahnung von JS, und die Zeit mich noch in eine weitere Sprache einzuarbeiten habe ich leider nicht...
Hallo sYlenZ,
Vielen Dank Gernot für das (fast ;)) fertige script. Es tritt allerdings noch ein fehler an der Zeile "scroll = window.setTimeout("scrollen(wert)", 83);" auf, den ich mir nicht erklären kann :(.
Was bekommst du denn da für eine Fehlermeldung, mit welchen Browsern hast du es gestestet? Funktioneirt es denn trotzdem in Ansätzen? Ich habe mir mein script noch einmal angeschaut:
Was wahrscheinlich fehlt, ist die Definition von scroll als globaler Variable. Schreib einfach:
var scroll;
mal als erstes in dein Script, noch bevor du die dort erste Funktion definierst. Aber ob das der Grund für die Fehlermeldung ist? Stell es doch mal ins Netz, dann kann ich mir eher vorstellen, woran es liegen könnte.
doch ohne die geringste Ahnung von meinen Absichten zu haben ist das wohl etwas vorschnell.
Auch finde ich es sehr beachtlich, dass hier einige User ihr Fachwissen und Freizeit nutzen um anderen Leuten zu helfen (zugegeben das ist der Sinn eines Forums, aber dass ich hier gleich einen fast fertigen Lösungsvorschlag bekommen habe hat mich doch etwas überrascht :)). Ich habe absolut keine Ahnung von JS, und die Zeit mich noch in eine weitere Sprache einzuarbeiten habe ich leider nicht...
Ich habe mich etwas mehr reingehängt als man es sollte, es heißt hier ja schließlich SELF, eigentlich soll es nur Hilfe zum Selbermachen sein, abe ich glaube, du hast immer noch genug selbst zu tun.
http://javascript.internet.com/scrolls
Hier gibt es übrigens auch fertige Scroll-Scripts, die ahmen aber mit absoluter Positionierung nur das Scrolling nach.
Gruß Gernot
Ok, die Fehlermeldung ist weg. Ich musste nur die Variablen wert und scroll initialisieren. Allerdings ist in dem script wohl noch ein logik fehler, denn kurz nachdem das script ein stück runtergescrollt hat, springt es wieder an den Anfang. Liegt evtl an der 0 in "scrollTo(0, neuerYwert(wert))" oder irre ich mich da ;) ?!
ich habs mal geupt, zu sehen unter www.titschack.de/test.htm
Hallo sYlenZ,
lass dir von den Puritanern hier deine Kreativität und Phantasien nicht nehmen!
folgende Idee: Ich erstelle einen IFrame deaktiviere autoscrolling und binde neben dem frame zwei grafiken / buttons ein mit deren Hilfe man durch den IFrame scrollen kann ... nur wie ist das zu realisieren? Bin für jeden Tip dankbar :)
Du gibst dem IFRAME eine id, z.B. id="meinIframe"
Dann kannst du auch auf das Scrolling darin zugreifen.
Schreib am besten eine Funktion im Head-Bereich deines übergeordneten Dukoments:
function scrollen (wert) {
if(document.all) {
document.frames['meinIframe'].scrollTo(0, neuerYwert(wert));
} else {
document.getElementById('meinIframe').scrollTo(0, neuerYwert(wert));
}
scroll = window.setTimeout("scrollen(wert)", 83);
}
Die Funktion neuerYwert()
würde ich wie folgt definieren:
neuerYwert(wert) {
if (document.all) {
return document.frames['meinIframe'].document.body.scrollTop += wert;
} else {
return document.getElementById(',meinIframe').pageYOffset += wert;
}
}
Je nachdem, was du über deine Buttons dieser Funktion für Werte übergibst, kannst du vom Betrag her unterschiedlich schnell und vom Vorzeichen her in unterschiedliche Richtungen scrollen: Minus-Werte würden für ein Scrollen nach oben stehen, positives Werte für ein Scrollen nach unten.
Die Buttons würden dann z.B. so aussehen:
<a href="javascript:return false;" onMouseover="scrollen(5)" onMouseout="window.clearTimeout(scroll)">nach unten</a>
oder
<a href="javascript:return false;" onMouseover="scrollen(-5)" onMouseout="window.clearTimeout(scroll)">nach oben</a>
Ich habe es nicht getestet, deshalb probier es mal aus und berichte mir, ob meine Theorie stimmt. Wenn nicht, hab ich hier vielleicht an einem Punkt einen Flüchtigkeitsfehler drin. Ist halt schlecht, wenn mans nicht ausprobiert und nur so ins "Blaue" spricht.
Gruß Gernot
Hallo sYlenZ,
lass dir von den Puritanern hier deine Kreativität und Phantasien nicht nehmen!
Hallo sYlenZ,
Bevor du auf Gernot hörst und irgendeinen Unsinn verzapfst, schau dir doch mal http://www.sonymusic.de/shakira/ an und überleg nochmal, ob du das wirklich den Nutzern deiner Seite(n) zumuten willst.
Gruß,
Gunnar
sYlenZ,
Falls du dich doch entschließen solltest, deine Website mittels JavaScript "tieferzulegen", vergiss bitte nicht, im noscript-Bereich die browsereigenen Scrollbars wiederherzustellen. Wär doch zu blöd, wenn Nutzer mit deaktiviertem JavaScript vielleicht wichtige Inhalte gar nicht zu sehen bekommen.
Gunnar
Hallo.
Falls du dich doch entschließen solltest, deine Website mittels JavaScript "tieferzulegen", vergiss bitte nicht, im noscript-Bereich die browsereigenen Scrollbars wiederherzustellen. Wär doch zu blöd, wenn Nutzer mit deaktiviertem JavaScript vielleicht wichtige Inhalte gar nicht zu sehen bekommen.
Kennst du in dieser Weise tiefergelegte Seiten, die über wichtige Inhalte verfügen?
MfG, at
Hallo!
Kennst du in dieser Weise tiefergelegte Seiten, die über wichtige Inhalte verfügen?
Ja, leider: die Seiten der EMEA (European Medicines Agency; zuständig für die europaweite Zulassung von Arzneimitteln und Medizinprodukten).
http://www.emea.eu.int/index/indexh1.htm
Wähle einfach links irgendein Thema aus, dann darfst du rechts im iframe mittels JavaScript scrollen (nervt extrem bei vielen Dokumenten, zB Efficacy->Approved Guidelines).
mfg Alfie