SetaPDF
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 31.07.2002, 16:40   #1
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein

Einfacher DIV-Scroller für DOM-fähige Browser


Tataaaa....mein erstes mehr-als-fünf-Zeilen-JavaScript :

Ein simpler DIV-Scroller auf DOM-Basis. Da es konsequent für moderne Browser geschrieben wurde, besteht der Code aus sehr wenigen Zeilen, ist einfach einzubinden und, wie im Titel bereits angekündigt, nur funktionsfähig auf neueren Browsern, die das DOM (Document Objekt Model) unterstützen, sprich Internet Explorer 5 und höher sowie dem neuen Mozilla und seinen Ablegern (Netscape 6/7, KMeleon usw.).

Das Script ermöglicht beliebig viele Scrollbare DIVs auf einer Seite, die unabhängig voneinander gesteuert werden können, ohne dass der Javascript-Code modifiziert werden muss.

Das Script in Aktion

Falls jemand von euch Interesse daran hat, hier die Installationsanleitung:

1.
divscroller.js downloaden und ins website-Verzeichnis kopieren

2.
divscroller.js in HTML-Dokument einbinden

3.
<div>-Element als Scrollrahmen anlegen. Folgende Attribute MÜSSEN angegeben werden:

id="scrollframeID"

'scrollframe' ist zu übernehmen ist und 'ID' kann frei gewählt werden -> siehe Beispiel unten)

style="overflow:hidden; position:absolute; width: ? px; height: ? px; "

width und height sind frei wählbar (logisch). Zusätzliche Eigenschaften, z.b. Positionsangaben ('top' und 'left') sind möglich, aber nicht erforderlich.


4.)
Innerhalb dieses <div>-Elements ein zweites für den zu scrollenden Inhalt erstellen, mit ID = "ID" (gleiche wie beim Rahmen-DIV, nur ohne vorangestelltes 'scrollframe').
CSS-Angaben sind nicht erforderlich, allerdings ausser 'margin' (alle?) erlaubt (hier bin ich mir nicht sicher, müsste auch getestet werden )


5.)
HTML-Elemente mit event-Handlern für die Steuerung erstellen, z.b. onmouseover-Grafiken.

Das Script kann mit folgenden zwei Funktionsaufrufen gesteuert werden:

start_scroll(ID, speed)

(scrolling starten)
------------------------------

ID = HTML-ID des zu scrollenden DIV's

speed = Geschwindigkeit, z.B. 10 oder -10 (für Gegenrichtung)


stop_scroll(ID)

(scrolling anhalten)
------------------------
ID = HTML-ID des zu stoppenden DIV's




BEISPIEL:
------------
PHP-Code:

<img src="scroll_up.gif" onmouseover="start_scroll('Test', 10);" onmouseout="stop_scroll('Test');">

<
img src="scroll_down.gif" onmouseover="start_scroll('Test', -10);" onmouseout="stop_scroll('Test');">


<
div id="scrollframeTest" style="height:128px;width:320px;overflow:hidden;border-style:solid;border-width:1px;border-color:#000000;position:absolute; left: 312px; top: 352px;"

<
div id="Test" style="padding:4px;font-family: verdana; font-size: 10px;line-height:14px;" >

- - 
Zu scrollender Inhalt - -
</
div>

</
div



------------------------------
update:

der Anhang enthält jetzt eine neue Version. Ich hab weder neue Features eingebaut noch die Browser-Kompatibilität verbessert - ledigiglich den Code um noch ein paar Zeilen verkürzt
Angehängte Dateien
Dateityp: txt divscroller.js.txt (1,7 KB, 1486x aufgerufen)

Geändert von seb (01.08.2002 um 01:24 Uhr).
seb ist offline   Mit Zitat antworten
Linktipp

Alt 31.07.2002, 21:34   #2
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Hmm, ich dachte eigentlich immer, der Internet Explorer 5 Macintosh Edition sei beherrsche das DOM - aber da das Script bei mir nicht funktioniert, scheint das nicht zu stimmen.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 31.07.2002, 21:53   #3
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Möglicherweise beherrscht ers durchaus und hat mit irgendwas anderem in meinem Script Probleme?

Auf Cross-Browser-Kompatiblität hab ich zugegebenermaßen kein bisschen geachtet - aus Mangel an Wissen über die verschiedenen Element-Zugriffsmethoden der verschiedenen Browser und fehlender Motivation, mich damit zu befassen und es umzusetzen.

Eigentlich diente mir dieses Script hauptsächlich dazu, n bisschen Javascript zu lernen - es is meine erste JS-Kreation, die über die bisherigen primitiven Popupfenster-Funktionen herausgeht.

Gut, Netscape 4 ist mir wurscht, aber auf dem Mac sollt's wohl schon laufen, falls man es ernsthaft verwenden will.

Getestet hab ich diese Version nur mit IE6 und Mozilla 1.1a auf Windows, weiß aber zumindest von einer etwas älteren Fassung, dass sie auch unter IE5 läuft (von Bekanntem getestet).

Wie siehts mit den neuren Opera-Versionen aus? Hat das mal jemand ausprobiert?

Und was für ne Fehlermeldung gibt der Mac-IE aus?
seb ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:02   #4
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Gar keine! Ich kann den Scrollbalken zwar einmal (!) nach unten ziehen, es passiert aber rein gar nix.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:15   #5
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Den Scrollbalken kann man nicht ziehen, es is mir noch nicht gelungen, das umzusetzen (deshalb hab ihn in der 'Installationsanleitung' auch nicht erwähnt).

Bisher funktioniert lediglich das Scrollen per event-Handler bei onclick, onmouseover etc - der Scrollbalken kann zwar eingebaut werden und bewegt sich beim Scrollen auch schön mit, aber wie gesagt - bisher ist er unempfänglich für äußere Einflüsse.

Wie sieht's mit den Buttons aus (eigentlich dumme Frage, da du die wohl kaum übersehn hast...)?
seb ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:24   #6
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Ich habe mich wohl etwas mißverständlich ausgedrückt: Natürlich meine ich das "Herunterziehen" des Balkens per Schaltfläche, nicht das Bewegen des Balkens selber. Aber genau das lässt sich ja leider nur ein eiziges mal machen, ohne dass der DIV-Inhalt davon tangiert wird.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:37   #7
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
achso....hm...(keine Ahnung )
seb ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:45   #8
TP-Greis
 
Benutzerbild von Lars
 
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
Lars bringt sich richtig ein
Macht ja nix, ich bin der festen Überzeugung, dass Du das Problem beheben wirst. Übrigens Respekt, wenn das wirklich Dein erstes grösseres Script ist.
__________________
Give up yourself into the moment — The time is now.
Lars ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:57   #9
TP-Special Mod
 
Benutzerbild von Thomas
 
Registriert seit: May 2001
Ort: Arnsberg - Sauerland
Thomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine UserThomas lebt für das TP und seine User
Thumbs up

w2k:
IE 5.5/Mozialla 1.0/NN 6.2: alles topp, funktioniert wie du beschreibst

Opera 6.03: nee
witzigerweise bewegt sich aber der "Pseudo"scrollbalken des oberen Layers 1 x ganz kurz
Thomas ist offline   Mit Zitat antworten
Alt 31.07.2002, 22:59   #10
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Zitat:
Macht ja nix, ich bin der festen Überzeugung, dass Du das Problem beheben wirst.
Unwahrscheinlich angesichts der Tatsache, dass ich nicht den geringsten Anhaltspunkt dafür hab, woran es liegen könnte.

Zitat:
Übrigens Respekt, wenn das wirklich Dein erstes grösseres Script ist.
Danke

Mein erstes 'richtiges' JavaScript isses tatsächlich (würde ich jeeeemals lügen??? ), allerdings wars keine sooo große Sache, da ich allgemein halbwegs programmiern kann (behaupt ich jetzt einfach mal...).

Unter der Voraussetzung muss man ja 'nur' die Syntax lernen und verstehen, wie Javascript auf die Elemente eine HTML-Seite zugreifen und sie verändern kann.
seb ist offline   Mit Zitat antworten
Alt 31.07.2002, 23:00   #11
TP-Specialist
 
Benutzerbild von Flixxtoras
 
Registriert seit: May 2001
Ort: Leipzig
Flixxtoras macht alles soweit korrekt

..


Habe mit Scroll Layern auch schon viel gemacht und kann aus Erfahrung nur sagen das man es in jeden Browser lauffähig machen kann außer Opera da dieser nicht mit den komplexen DHTM und JS auskommt.
Flixxtoras ist offline   Mit Zitat antworten
Alt 31.07.2002, 23:03   #12
TP-Specialist
 
Benutzerbild von Flixxtoras
 
Registriert seit: May 2001
Ort: Leipzig
Flixxtoras macht alles soweit korrekt

..


Achja man kann auch einen Windows -artigen Scrollbalken machen den man ziehen kann das ist echt lustig und der user muss nicht so lange auf den Pfeilen bleiben auch Sprungmarken gehen also so ne Art Anker.
Flixxtoras ist offline   Mit Zitat antworten
Alt 31.07.2002, 23:21   #13
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Joa, hab ich auch schon hie und da gesehn, und (wie weiter oben erwähnt) auch schon einzubauen versucht, allerdings bisher vergeblich - ein mit der Maus ziehbarer Scrollbalken übersteigt meine JS-Fähigkeiten wohl noch etwas. Nichtsdestotrotz - was nicht ist, kann noch werden.

Aber mal was ganz anderes:

Welchen Sinn machen selbstprogrammierte DIV-Scroller überhaupt, angesichts der Tatsache, dass man bei IFrames die gleichen Möglichkeiten zur freien Gestaltung der Scroll-Elemente hat?


Gut, unter Netscape 4 ist es die einzige Lösung für sowas, da der ja weder Standard-Scrollbalken für DIVs noch IFrames kennt, aber wenn einem das egal ist, weil einem der Browser am ***** vorbei geht?

Obwohl man DIVs einfach per CSS mit Standard-Scrollbalken versehen kann, ohne den geringsten Programmieraufwand betreiben zu müssen, bietet Javascript ja leider keine Möglichkeit, sie mit einfachen Funktionsaufrufen zu scrollen, wie es bei Frames und IFrames kinderleicht möglich ist - eigentlich verwunderlich, dass die Damen und Herren vom W3C daran offensichtlich noch nicht gedacht haben.

Aaaaber da es bei IFrames ja geht, und es in Sachen Optik und Funktionalität keinen Unterschied zwischen einem 'normal' scrollbaren DIV und einem IFrame gibt, bzw. der Iframe Vorteile bietet, da er sich auch per Tastatur scrollen lässt und allgemein die sauberere weil immerhin etwas kompatiblere Lösung ist?

Ich kann also einen IFrame nehmen, die Standard-Scrollbalken abschalten und mir dafür per JS eigene Scroll-Buttons und theoretisch auch einen eigenen ziehbaren Scrollbalken basteln - wo bleibt da dem DIV ein Vorteil? Gibt keinen, oder?
seb ist offline   Mit Zitat antworten
Alt 01.08.2002, 08:25   #14
TP-Moderator
 
Benutzerbild von Stuck Mojo
 
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
Stuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKEStuck Mojo ist ein richtiges Arbeitstier - DANKE
Moin !

Ein Vorteil von DIV-Containern ist, dass man sie im IE5.0 auch durch andere Container überlagern kann, was mit IFrames im IE5.0 nicht möglich ist. Erst ab IE5.5 ist der IFrame zu einem windowless-Element geworden und kann mit dem z-Index genauso wie ein DIV-Container behandelt werden.

und...selbst für den Opera kann man solche Scroller bauen.

Gruss Jan
Stuck Mojo ist offline   Mit Zitat antworten
Alt 01.08.2002, 12:41   #15
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Stimmt...das is mir beim Mozilla mal aufgefallen - da isses nach wie vor so, oder?

Aber selbst wenn...dieser Vorteil is so minimal, dass ich eher auf das Überlagern verzichten würde, als ein scrollbares DIV zu verwenden
seb ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Traum-Scripts
Einfacher DIV-Scroller für DOM-fähige Browser Einfacher DIV-Scroller für DOM-fähige Browser
« Suchscript (mit PHP ohne Datenbank) | GaFleX' Simple Counter (File basiert) »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:01 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 RC7 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67