scrollbar mit scrollbegrenzung (scrollLeft)
koko
- javascript
0 Felix Riesterer0 koko0 koko0 Felix Riesterer0 koko
tag,
ich möchte eine scrollbar bauen, deren inhalt man mit 2 pfeilen scrollen kann. funktioniert ganz super, nur leider hakt es an der begrenzung.
momentan sieht das so aus:
<div id="scrollleft" onmouseover="scrollIn = window.setInterval('topscroll(-10)',20);" onmouseout="window.clearInterval(scrollIn);">
<div id="scrollbar">
(scrollbar-inhalt)
</div>
<div id="scrollright" onmouseover="scrollIn = window.setInterval('topscroll(+10)',20);" onmouseout="window.clearInterval(scrollIn);">
und das JS:
var scrollIn = "";
function topscroll(richtung) {
if ($('highlights').scrollLeft <= 690) {
$('highlights').scrollLeft = $('highlights').scrollLeft + richtung;
}
}
hier kann ich zwar super scrollen, wenn ich aber am ende angelangt bin, kann ich nicht mehr zurückscrollen, da ich anscheinend über die begrenzung von 690 hinaus bin.
eine maximale breite für das zus scrollende div funktioniert auch nicht.
ich steh grad auf dem schlauch, kann mir da jemand helfen? :)
greetings,
koko
Liebe(r) koko,
Du möchtest also ein GUI-Element, das jeder Browser von Hause aus anbietet, und das jeder User von seinem Browser visuell und funktional so gewohnt ist, mittels JavaScript neu erstellen? Warum? Und warum willst Du das auf so unsichere Beine stellen, indem Du dafür JavaScript voraussetzt?
Liebe Grüße,
Felix Riesterer.
Liebe(r) koko,
Du möchtest also ein GUI-Element, das jeder Browser von Hause aus anbietet, und das jeder User von seinem Browser visuell und funktional so gewohnt ist, mittels JavaScript neu erstellen? Warum? Und warum willst Du das auf so unsichere Beine stellen, indem Du dafür JavaScript voraussetzt?
Liebe Grüße,
Felix Riesterer.
ich war mir echt fast sicher, dass mir jemand schreibt, wieso ich keine normalen scrollbalken benutze xD
können wir bitte nicht über den sinn dieses features diskutieren, sondern über das problem? :)
danke,
koko
ich war mir echt fast sicher, dass mir jemand schreibt, wieso ich keine normalen scrollbalken benutze xD
können wir bitte nicht über den sinn dieses features diskutieren, sondern über das problem? :)
danke,
koko
bitte? :(
Liebe(r) koko,
ich war mir echt fast sicher, dass mir jemand schreibt, wieso ich keine normalen scrollbalken benutze xD
Du hast ja auch nicht erwähnt wieso. Da dachte ich, ich frage halt mal... ;-)
Zu Deinem Problem: Kannst Du eine Art Zähler mitlaufen lassen, wenn Du die Scrollposition veränderst? In Abhängigkeit dieses Zählers kannst Du dann ein weiteres Scrollen verhindern...
Liebe Grüße,
Felix Riesterer.
Liebe(r) koko,
ich war mir echt fast sicher, dass mir jemand schreibt, wieso ich keine normalen scrollbalken benutze xD
Du hast ja auch nicht erwähnt wieso. Da dachte ich, ich frage halt mal... ;-)
Zu Deinem Problem: Kannst Du eine Art Zähler mitlaufen lassen, wenn Du die Scrollposition veränderst? In Abhängigkeit dieses Zählers kannst Du dann ein weiteres Scrollen verhindern...
Liebe Grüße,
Felix Riesterer.
danke erstmal für die antwort.
leider wird das nicht klappen mit dem zähler. ich hab ja schon eine abfrage, und zwar, wenn der wert von scrollLeft die 690 übersteigt, wird das scrollen deaktiviert. (genau wie dein ansatz)
leider kann ich dann auch nicht mehr zurück scrollen :)
gruß,
koko
Liebe(r) koko,
wenn der wert von scrollLeft die 690 übersteigt, wird das scrollen deaktiviert.
genau. So absolut wie Du das hier formuliert hast, ist das Tatsache.
if ($('highlights').scrollLeft <= 690) {
$('highlights').scrollLeft = $('highlights').scrollLeft + richtung;
}
}
Das Scrollen (an sich) wird bei Erreichen der 690 deaktiviert. "Das Scrollen" beinhaltet auch "das zurück Scrollen"...
Eigentlich willst Du nur, dass wenn die Richtung positiv ist _und_ der Wert die 690 erreicht hat, dass nicht mehr gescrollt wird. Bei _negativer_ Richtung sieht das aber anders aus. Dein Code reflektiert diesen feinen Unterschied aber nicht!
Liebe Grüße,
Felix Riesterer.