Archivlink: javarea.de Forum > JavaScript > div scrolling
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > div scrolling
Pages: [1]
| geschrieben von okley am 31.07.2005 - 18:33 |
ich hatte in erinnerung dieses thema sei hier schonmal behandelt worden ... allerdings fand ich nichts in der suche :/
ich möchte ein EINFACHES script damit ich den inhalt eines div auf und ab scrollen kann, mithilfe von schalftflächen (button, div, grafik ...). ganz gut wäre noch wenn ich die geschwindigkeit des scrollens selbst deklarieren kann, denn so kann ich z.b. bei onClick ne andere geschweindigkeit nehmen als bei onMouseOver.
ich habe schon verschiedene scripts ausm netz probiert, das beste und das welches mich am weitesten brachte war:
http://www.dyn-web.com/dhtml/scroll....-opts.html
impelentiert ist es etwa hier:
http://chur-tanzt.ch/layout/
allerginds stimmt die dartsellung im internetexplorer nicht. warum kann ich mir nicht recht erklären :/ weiss vielleicht dazu jemand rat? |
| geschrieben von Cluster am 31.07.2005 - 19:17 |
Hallo!
Versuch' mal den onload-Befehl rauszunehmen, aber das Script drin zu lassen. Ich habe auch mal mit so einem Div gearbeitet, und wenn Du keinen zweiten onload-Befehl hast, ist der nämlich für den div nicht unbedingt notwendig.
Versuch das erstmal und dann meld Dich nochmal. |
| geschrieben von okley am 01.08.2005 - 18:09 |
| wie ich erwartet hatte ist der onload befehl notwendig, sonst wird die ganze scrollbar-geschichte ja gar nie geladen bzw. initialisiert. |
| geschrieben von okley am 07.08.2005 - 17:37 |
Danke René! Das sieht schon viel einfacher und effizienter aus.
Ich habe das script in meinem layout eingebaut. allerdings geht es noch nicht. meiner meinung nach habe ich alles gemacht, wie du auf deiner seite ...
ich wäre froh wenn ihr mir auf die sprünge helfen könnted und mir sagt, was ich falsch gemacht habe.
hier ist die seite auf der ich es probiert habe:
http://chur-tanzt.ch/2/scroll.jana/index2.html |
| geschrieben von René am 07.08.2005 - 18:10 |
| HTML-Quelltext | 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:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
| <html>
<head>
<style type="text/css">
<!--
#container
{
background-color: #f0f0f0;
font-family: Verdana;
position: relative;
overflow: hidden;
font-size: 9px;
height: 110px;
}
//-->
</style>
</head>
<body>
<script language="JavaScript1.2" type="text/javascript">
<!--
var speed = 3;
with (document)
{
if (navigator.appName == 'Netscape')
{
write('<div id="container" style="width: 128px;">'
+ '<div id="content" style="position: absolute; width: 117; padding: 5px; left: 0; top: 0;">');
}
else
{
write('<div id="container" style="width: 128px;">'
+ '<div id="content" style="position: absolute; width: 125; padding: 5px; left: 0; top: 0;">');
}
}
//-->
</script>
<!-- Text der scrollen soll Anfang //-->
Text 1<br /><br />
Text 2<br /><br />
Text 3<br /><br />
Text 4<br /><br />
Text 5<br /><br />
Text 6<br /><br />
Text 7<br /><br />
Text 8<br /><br />
Text 9<br /><br />
Text 10
<!-- Text der scrollen soll Ende //-->
<script language="JavaScript1.2" type="text/javascript">
<!--
document.write('</div></div>');
var crossobj = (document.getElementById) ? document.getElementById('content') : document.all.content;
var contentheight = crossobj.offsetHeight;
/**/
function movedown()
{
if (parseInt(crossobj.style.top) >= (contentheight * (-1) + 110))
crossobj.style.top = parseInt(crossobj.style.top) - speed;
movedownvar = setTimeout('movedown();', 40);
}
/**/
function moveup()
{
if (parseInt(crossobj.style.top) <= 0)
crossobj.style.top = parseInt(crossobj.style.top) + speed;
moveupvar = setTimeout('moveup();', 40);
}
/**/
function getcontent_height()
{
contentheight = crossobj.offsetHeight;
}
/**/
onload = getcontent_height;
//-->
</script>
<a href="javascript:void(0);" onmouseover="moveup();" onmouseout="clearTimeout(moveupvar);">up</a>
<a href="javascript:void(0);" onmouseover="movedown();" onmouseout="clearTimeout(movedownvar);">down</a>
</body>
</html> |
|
| geschrieben von okley am 07.08.2005 - 20:55 |
also, ich habe herausgefunden wieso mein beispiel nicht ging 
und zwar ganz einfach wegen dem doc-type-definition.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
ich habe diese beiden ausprobiert, keiner ging. ohne funktionierte es wie gewollt. ich möchte abr nicht auch eine angabe des doc-type verzichten, darum: an was liegt es, dass es mit doc-type nicht geht? lieber wäre mir 1.0 Transitional |
| geschrieben von René am 07.08.2005 - 21:45 |
Nimm mal nur das?
| HTML-Quelltext | 1:
| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
|
| geschrieben von Armin am 08.08.2005 - 08:08 |
moin moin,
oder füge ganz am Anfang ein:
| Zitat | | | <?xml version="1.0" encoding="iso-8859-1"?> |
armin |
| geschrieben von okley am 08.08.2005 - 10:26 |
@René, ich hatte jeweils nur einen von beiden gleichzeitig aktiv 
Mit dem von dir vorgeschlagenen doc-type geht es:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
wieso aber geht es mit
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
oder
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
nicht?
da, der von rené nichts anderes ist als mein 4.01 einfach ohne dtd angabe, probierte ich es bei dem XHTML 1.0 auchj ohne die dtd angabe, aber der ging auch so nicht. kann mir jemand erklären warum? |
| geschrieben von Matneu am 08.08.2005 - 18:47 |
| Zitat | | | Original geschrieben von okley am 08.08.2005 - 10:26
da, der von rené nichts anderes ist als mein 4.01 einfach ohne dtd angabe, probierte ich es bei dem XHTML 1.0 auchj ohne die dtd angabe, aber der ging auch so nicht. kann mir jemand erklären warum? |
<Idee>Vielleicht weil nach der DTD Deine Seite falsch war.</Idee>
So far...
Matthias |
| geschrieben von okley am 08.08.2005 - 19:52 |
aja Matneu das hätteich jetzt au niee gedacht . ne scherz beiseite. hast du echt gedacht das wäre ein konstruktiever beitrag von dir?
für die die meine frage wie Matneu interpretierten, ich weiss, dass nach der verwendeten DTD meine seite nicht in ordnung war. nur frage ich mich, was denn genau der DTD nicht gefallen hat. |
| geschrieben von Matneu am 08.08.2005 - 23:30 |
| Zitat | | | Original geschrieben von okley am 08.08.2005 - 19:52
nur frage ich mich, was denn genau der DTD nicht gefallen hat. |
Z. B. fehlt das Character Encoding, im Kopf fehlt der title etc. OB es nun wirklich daran liegt weiss ich nicht, aber mit einem halbwegs sauberen Code wäre die Fehlersuche wahrscheinlich einfacher (um endlich etwas konstruktives zu bringen).
Ich habe gerade mal alle Möglichkeiten durchprobiert, es funktioniert bei mir immer (Opera UND IE).
Mit DTD-Angabe, ohne DTD, Mit title, ohne title, mit encoding-Angabe, ohne, ... . Selbst die Version, die Du gepostet hast (komplett ohne Doctype) klappt problemlos.
So far...
Matthias |
|