Scorrimento pagina con javascript

  • Creatore Discussione Creatore Discussione dymissy
  • Data di inizio Data di inizio

dymissy

Nuovo Utente
22 Feb 2007
1
0
0
Salve ragazzi, sono nuovo del forum, ne approfitto per salutare tutti! Avevo un problema da porvi, ho creato uno script in javascript che dovrebbe scorrere all'interno di un box un testo al passaggio del mouse su delle freccette. Cerco di spiegarmi meglio, ho un box con del testo e due immagini di due freccette, una in up e una in down. Ho creato uno script che quando il mouse passa sulla freccetta down il testo scorre in basso e quando passa sulla freccetta up scorre in alto. Lo scipt funzione correttamente ma solo con IE!!! Non riesco a capire perchè con Firefox non funziona. Vedo il testo che entra nel box ma se metto il mouse sulle freccette non scorre. Vi allego il codice scritto, vi ringrazio anticipatamente se riusciste a risolvere il mio problema!!

Codice:
<SCRIPT language=JavaScript1.2>

//Browsercheck
ie=document.all?1:0
n=document.layers?1:0

/*********************************************************************************
These are the variables you have to set:
*********************************************************************************/

//The speed of the timeout between each scroll.
timSpeed=50

//The height of the container (change this when it scrolls to much or to little)
contHeight=100

/*********************************************************************************
This is the object constructor function, which applies
methods and properties to the crossbrowser layer object
*********************************************************************************/
function makeScrollObj(obj,nest){
        nest=(!nest) ? '':'document.'+nest+'.'
        this.css=(n) ? eval(nest+'document.'+obj):eval('document.all.'+obj+'.style')
        this.scrollHeight=n?this.css.document.height:eval('document.all.'+obj+'.offsetHeight')
        this.top=b_gettop
        return this
}
//Getting the top for the top method
function b_gettop(){
        var gleft=(n) ? eval(this.css.top):eval(this.css.pixelTop);
        return gleft;
}
//Variables
var scrollTim;
var active=0;
/*********************************************************************************
The scroll function. Checks what way to scroll and checks if the
layer is not already on top or bottom.
*********************************************************************************/
function scroll(speed){
        clearTimeout(scrollTim)
        way=speed>0?1:0
        if((!way && oScroll[active].top()>-oScroll[active].scrollHeight+contHeight) || (oScroll[active].top()<0 && way)){
                oScroll[active].css.top=oScroll[active].top()+speed
                scrollTim=setTimeout("scroll("+speed+")",timSpeed)
        }
}
//Clears the timeout so the scroll stops, this is called onmouseout.
function noScroll(){
        clearTimeout(scrollTim)
}

/*********************************************************************************
Initilizes the page, makes a oScroll Array and calls the object constructor.
Here you can add as many scrollObjects as you want
*********************************************************************************/
function scrollInit(){
        oScroll=new Array()
        oScroll[0]=new        makeScrollObj('divScroll1','divCont')
        oScroll[0].css.visibility='visible'
}
/*********************************************************************************
Executes the scrollInit function on pageload.
*********************************************************************************/
onload=scrollInit;
//-->
</SCRIPT>

<SCRIPT language=JavaScript>
<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.0
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && document.getElementById) x=document.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_displayStatusMsg(msgStr) { //v1.0
  status=msgStr;
  document.MM_returnValue = true;
}
//-->
</SCRIPT>


e lo uso cosi:

Codice:
<BODY text=#ffffff bgColor=#000033 leftMargin=0 topMargin=0 marginwidth="0">
<DIV id=divControl>
<P><A 
onmouseover="up.src='images/up_over.gif';scroll(10);MM_displayStatusMsg('Up');return" 
onfocus=if(this.blur)this.blur() onMouseOut="up.src='images/up.gif';noScroll()" 
href="javascript:void(0)" document.MM_returnValue><IMG height=12 
src="images/up.gif" width=17 border=0 name=up></A><BR><A 
onmouseover="down.src='images/down_over.gif';scroll(-10);MM_displayStatusMsg('Down');return" 
onfocus=if(this.blur)this.blur() 
onmouseout="down.src='images/down.gif';noScroll()" href="javascript:void(0)" 
document.MM_returnValue><IMG height=12 src="images/down.gif" width=17 
border=0 name=down></A></P></DIV>
	<DIV id=divCont>
	<DIV class=clScroll id=divScroll1> 
	<P align=justify><font color="#00FF00">Welcome</font></P>
	<P align=justify>inserisco il testo da scorrere</P>
	</DIV>

non riesco a capire dove sbaglio. :hammer: Firefox non ne vuole proprio sapere di funzionare!!!
 

Discussioni simili