vorrei sapere esiste, e, in caso affermativo, avere un esempio di uno script javascript impostato come link onMouseOver per l'immagine in una pagina, faccia lo scroll in un altro frame.
grazie in anticipo!![]()
vorrei sapere esiste, e, in caso affermativo, avere un esempio di uno script javascript impostato come link onMouseOver per l'immagine in una pagina, faccia lo scroll in un altro frame.
grazie in anticipo!![]()
FaBiu[S]
prova così:
ciaocodice:[img]immagine.gif[/img]
grazie mille!
ma io vorrei precisamente che passando col mouse sopra l'immagine (onMouseOver) la pagina nell'altro frame facesse lo scroll, e fin qui ci siamo, ma che rimanendo col mouse sull'immagine la pagina continui a scorrere... è possibile?
FaBiu[S]
c'è qualcuno che sa se e come si può fare?
FaBiu[S]
<script language="javascript">
var i = 0;
var timer = 0;
/* Funzione per interrompere lo scroll. */
function stop()
{
if (timer) clearInterval(timer);
}
/* Questa funzione controlla se lo scroll è verso l'alto o verso il *
* basso. */
function start(index)
{
if (index == 5)
{
timer = setInterval("go(5)",50);
}
else
{
timer = setInterval("go(-5)",50);
}
}
/* Funzione di scroll */
function go(dat)
{
i += dat;
if(i > 0) top.sinistra.window.scrollTo(0,i);
}
</script>
</head>
<body>
<p onmouseover="start(-5)" onmouseout="stop()">Su</p>
<p onmouseover="start(5)" onmouseout="stop()">Giù</p>
...
Domanda:
Come posso sapere quando è arrivato al limite inferiore ?
La più grande forza a disposizione dell'umanità è la non violenza (Ghandi).
(15/06/2003 - 16 points, 17 rembounds and 1 standing ovation x Admiral David Robinson... San Antonio Spurs~ 2003/5 NBA champions)
visto che non ci sono proprietà che restituiscano l' altezza del documento (da quanto ricordi) forse conviene basarsi sempre sulla quantità di pixel già scrollati (*), x conoscerla:
se una volta effettuato lo scrollTo questa quantità non è cambiata sei giunto a fine documentocodice:function rFTop(){ var fTop=0 if(document.all){ if(document.getElementById && document.compatMode!="BackCompat") fTop=top.sinistra.document.documentElement.scrollTop else fTop=top.sinistra.document.body.scrollTop } else fTop=top.sinistra.pageYOffset return fTop } alert(rFTop())
* tra l' altro lo script da te postato, basando lo scroll su una variabile, può dare risultati inaspettati:
a mano potrei scrollare il documento con le normali scrollbar
oppure fare un refresh ritrovandomi con il documento scrollato ma con la variabile azzerata
ciao
grazie Xinod!
ma credo che, anche se il mio animo di programmatore in genere rifiuta un codice che non prevede la totalità delle azioni che l'utente può fare adattandosi alla situazione, per questa volta utilizzerò il codice fornitomi da bigmaul (grazie 1000 anke a te!) in quanto, non sono così esperto in javascript da applicare il suggerimento che mi ai dato per il calcolo dei pixel sul codice precedente.
a meno ke un anima buona (bigmaul, ad esempio) non mi fornisca il codice corretto...
saluti!![]()
FaBiu[S]
ma io stavo rispondendo a Bigmaul![]()
ciaoOriginariamente inviato da bigmaul
Domanda:
Come posso sapere quando è arrivato al limite inferiore ?
uh, sorry!Originariamente inviato da Xinod
ma io stavo rispondendo a Bigmaul![]()
ciao![]()
FaBiu[S]
Ho modificato il precedente x fare prima...cmq è testato su Explorer (e va bene :tongue: )<script language="javascript">
<!--
var i = 0;
var timer = 0;
var position = 0;
var fTop;
/* Posizione attuale dello scroll. */
function rFTop()
{
fTop=top.sinistra.document.body.scrollTop;
if (i > fTop) i = fTop;
return fTop;
}
/* Funzione per interrompere lo scroll. */
function stop()
{
if (timer) clearInterval(timer);
if (position) clearInterval(position);
}
/* Questa funzione controlla se lo scroll è verso l'alto o verso il *
* basso. */
function start(index)
{
position = setInterval("rFTop()",50);
if(index == 5)timer = setInterval("go(5)",50);
else timer = setInterval("go(-5)",50);
}
/* Funzione di scroll */
function go(dat)
{
i += dat;
if(i > 0) top.sinistra.window.scrollTo(0,i);
}
//-->
</script>
</head>
<body>
<p onmouseover="start(-5)" onmouseout="stop()">Su</p>
<p onmouseover="start(5)" onmouseout="stop()">Giù</p>
...
![]()
P.S. Eventuali modifiche e/o migliorie sono sempre ben accette![]()
La più grande forza a disposizione dell'umanità è la non violenza (Ghandi).
(15/06/2003 - 16 points, 17 rembounds and 1 standing ovation x Admiral David Robinson... San Antonio Spurs~ 2003/5 NBA champions)