PDA

View Full Version : Javascripte e IFRAME


reysharks
12-12-2002, 12:59
Ciao ragazzi..ho un piccolo problema..
in un sito ho un IFRAME centrale di nome "centro" che praticamente non sarà provvisto di scrollbars ma nella pagina che lo contiene devo mettere due freccette che mi fanno scrollare il contenuto dell'iframe in alto e in basso.

Praticamente stavo seguendo questa via, ho creato 3 funzioni javascript per lo scroll nell'head:

<script language="JavaScript">

var loop=true;
function scrollaSu(){
window.centro.scrollBy(0,-20);
if (loop){
setTimeout(noScroll(),10);
}

}
function scrollaGiu(){
window.centro.scrollBy(0,20);
if (loop){
setTimeout(noScroll(),10);
}

}
function noScroll(){
loop=false;
}
</script>

e nelle due frecce ho messo questi eventi:
Freccia su:
onMouseOut="noScroll();" onMouseOver="scrollaSu();"
Freccia giu:
onMouseOut="noScroll();" onMouseOver="scrollaGiu();"

il problema è che praticamente mi entrano in loop le funzioni di scroll e anche se levo il mouse dalla freccia non mi fa il catch dell'evento mouseout e mi si pianta il browser...sapete darmi qualche indicazione?

ciao.

Fathibur
12-12-2002, 15:02
credo debba essere messa in questa forma la function settimeout

window.setTimeout("noScroll()",10);

reysharks
12-12-2002, 17:30
Ho risolto in questa maniera:

<script language="JavaScript">

var bool = false;

function scrolla(val){
if(bool){
document.frames['centro'].scrollBy(0,val);
setTimeout("scrolla("+val+")",10); }
}
</script>


<iframe name="centro" src="aaa.html" scrolling=no></iframe>
<br>
<a href="java script:void(0)" onmousedown="bool=true; scrolla(-30)" onmouseup="bool=false">
<img src="su.gif" border=0 alt="su"></a>
<a href="java script:void(0)" onmousedown="bool=true; scrolla(30)" onmouseup="bool=false">
<img src="giu.gif" border=0 alt="giù"></a>