Automatisch im "content frame" scrollen!
rusty
- javascript
0 Chrischaaan0 rusty
0 Robert Bamler0 rusty
0 rusty
Hallo liebe Leutz,
also ich hab' folgendes Problem:
zu Präsentationszwecken soll eine Homepage automatisch vertikel gescrollt werden. Nun habe ich das soweit fertig,
ABER:
Das ganze funtioniert nur über ein Fenster, nicht aber über ein Frameset, was mache ich nur falsch - bin echt am verzweifeln
P.S.: das ganze soll nur für den IE laufen
P.P.S.: (sourcecode..)
function scrollY()
{
parent.display.scrollBy(0,1);
setTimeout...
}
hi
<div id="staticbuttons" style="position:absolute;">
<a href="javascript:" onmouseover="myspeed=-thespeed" onmouseout="myspeed=0"><img
src="images/arrows_up.gif" border="0"></a><br>
<a href="javascript:" onmouseover="myspeed=thespeed" onmouseout="myspeed=0"><img
src="images/arrows_dn.gif" border="0"></a>
</div>
<script>
//Page Scroller (aka custom scrollbar)- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for use
var Hoffset=70 //Enter buttons' offset from right edge of window (adjust depending on images width)
var Voffset=80 //Enter buttons' offset from bottom edge of window (adjust depending on images height)
var thespeed=3 //Enter scroll speed in integer (Advised: 1-3)
var ieNOTopera=document.all&&navigator.userAgent.indexOf("Opera")==-1
var myspeed=0
var ieHoffset_extra=document.all? 15 : 0
var cross_obj=document.all? document.all.staticbuttons : document.getElementById? document.getElementById("staticbuttons") : document.staticbuttons
function positionit(){
var dsocleft=document.all? document.body.scrollLeft : pageXOffset
var dsoctop=document.all? document.body.scrollTop : pageYOffset
var window_width=ieNOTopera? document.body.clientWidth+ieHoffset_extra : window.innerWidth+ieHoffset_extra
var window_height=ieNOTopera? document.body.clientHeight : window.innerHeight
if (document.all||document.getElementById){
cross_obj.style.left=parseInt(dsocleft)+parseInt(window_width)-Hoffset
cross_obj.style.top=dsoctop+parseInt(window_height)-Voffset
}
else if (document.layers){
cross_obj.left=dsocleft+window_width-Hoffset
cross_obj.top=dsoctop+window_height-Voffset
}
}
function scrollwindow(){
window.scrollBy(0,myspeed)
}
function initializeIT(){
positionit()
if (myspeed!=0){
scrollwindow()
}
}
if (document.all||document.getElementById||document.layers)
setInterval("initializeIT()",20)
</script>
vielleicht hilft dir das weiter.
und das runterscrollen kannste ja mit onload machen statt mit onmouseover wies oben drin is...
Na ja - is leider nicht ganz das was ich suche - aber trotzdem danke für die schnelle Antwort.
Hallo Rusty,
Das ganze funtioniert nur über ein Fenster, nicht aber über ein Frameset, was mache ich nur falsch - bin echt am verzweifeln
Wie kann man denn ein Frameset scrollen? Framesets sind doch eigentlich immer genauso groß wie der client-Bereich des Browserfensters. Es sei denn, du verwendest iframes, aber dann sollte das genauso funktionieren wie in einem Fenster.
P.P.S.: (sourcecode..)
function scrollY()
{
parent.display.scrollBy(0,1);
Was ist "display"? Ist das ein Framename? Dann versuch mal, den Frame umzunennen, vielleicht ist der Bezeichner "display" schon für irgendwas reserviert.
setTimeout...
Mit setInterval geht's IMHO einfacher und eleganter. Aber das kannst du dann ja selber entscheiden.
Viel Erfolg,
Robert
Ja vielen Dank - display ist der Name des Frames - da ich aber in diesen Frame auch Seiten laden kann müsste das mit dem Namen eigentlich funktionieren - tuts aber nicht.
Na ja, danke - hat mir leider nicht weitergeholfen.