2009-05-18 7 views
0

J'ai un iframe principal situé dans indexflash.html qui abrite le document html indexflash2.html qui contient deux cadres topframe (charges) et main.html bottomframe (charges home.html). Les deux topframe et bottomframe ont scrolling = "non".toujours faire défiler le cadre parent avec la molette de la souris?

topframe détient les commandes de navigation flash bottomframe mises à jour avec le contenu à afficher

Je veux être en mesure de contrôler la barre de défilement de principale avec la molette de défilement de la souris, afin que vous puissiez faire défiler sans raison la page entière comme une unité. En ce moment, je devine que l'accent tombe sur le topframe ou bottomframe parce que c'est où le pointeur de la souris est situé lorsque vous essayez d'utiliser la molette de défilement.

La page Je travaille sur peut être vu à http://96.9.39.101/indexflash.html

Comment puis-je forcer la molette de défilement de la souris pour contrôler toujours la barre de défilement pour la iframe mère principale, peu importe ce que les cadres ou iframes sont contenus à l'intérieur?

Je suis sûr que cela nécessitera du javascript, mais je ne suis pas assez familier avec JS pour sauter dans ce problème en solo pour le moment.

indexflash.html:

<iframe name="main" src="indexflash2.html" width="100%" height=2505></iframe> 

indexflash2.html:

<frameset framespacing="0" border="0" frameborder="0" rows="400,*"> 
<frame name="topFrame" height="400" scrolling="no" noresize target="bottomFrame" src="main.html"> 
<frame name="bottomFrame" height="2105" target="_self" scrolling="no" src="home.html"> 
<noframes> 
</frameset> 

Répondre

1

Vous pouvez utiliser le onscroll event pour synchroniser les deux cadres.

Modifier - Le site fonctionne correctement pour moi dans Chrome, il n'y a rien de bizarre à faire défiler. IE ne fonctionne pas tout à fait si bien. Je ne suis pas sûr que mon idée marcherait.

<script type="text/javascript"> 
document.onscroll = function() { 
    parent.b.document.body.scrollTop = document.body.scrollTop; 
} 
</script> 

synchronisera le cadre avec le nom b pour être au même point que le cadre de défilement, mais c'est probablement pas ce que vous avez besoin.

+0

pourriez-vous élaborer un peu? Je sais ce que fait l'événement sur le terrain, mais je ne suis pas sûr de la marche à suivre. Au début, je pensais que je devrais changer la mise au point pour toujours être sur l'iframe principal. Mais devrais-je simplement suivre quand la molette de la souris fait défiler vers le haut ou vers le bas, puis ajouter (ou soustraire) la valeur de la position de défilement de l'iframe? Je ne sais pas, –

Questions connexes