Salut vrompir,
J'suis pas sûr d'avoir tout compris ...
Cependant voici un ex en Javascript qui répondra peut être à tes besoins.
Peut être JAVA ou FLASH seraient ils mieux appropriés mais comme je ne connais ni l'un ni l'autre ...
Copie ce qui suit dans un fichier html sur ton PC et test avec IE
<html>
<head>
<style>
.stylecadre
{
position:absolute;
overflow:hidden;
background-color:#E0E0E0;
}
.styletexte
{
position:absolute;
left:5px;
top:0px;
overflow:hidden;
}
.perso
{
font-family:arial;
font-weight:bold;
font-size:10pt;
color:#0000BB;
}
</style>
<script language="Javascript">
<!--
var fenetre=null
// Object qui va référence un layer <DIV> HTML positionner de manière absolue de préférence
function DivObject(id)
{
this.ref=window.document.getElementById(id);
}
// Définir les dimensions de l'object DIV référencé
function divObject_setSize(szX,szY)
{
this.setWidth(szX)
this.setHeight(szY)
}
DivObject.prototype.setSize=divObject_setSize
// Définir la position absolue de l'object DIV référencé
function divObject_setPos(x,y)
{
this.setX(x)
this.setY(y)
}
DivObject.prototype.setPos=divObject_setPos
// Pas utilisé ...
function divObject_setClip(x,y,szX,szY)
{
this.ref.style.clip="rect("+y+","+szX+","+szY+","+x+")";
}
DivObject.prototype.setClip=divObject_setClip
// Définir la largeur de l'object DIV référencé
function divObject_setWidth(szX)
{
this.ref.style.width=szX+"px"
}
DivObject.prototype.setWidth=divObject_setWidth
// Définir la hauteur de l'object DIV référencé
function divObject_setHeight(szY)
{
this.ref.style.height=szY+"px"
}
DivObject.prototype.setHeight=divObject_setHeight
// Modifier la position horizontale du delta passé dans dx
function divObject_setdX(dx)
{
dx+=this.ref.offsetLeft;
this.ref.style.left=dx+"px"
}
DivObject.prototype.setdX=divObject_setdX
// Modifier la position verticale du delta passé dans dy
function divObject_setdY(dy)
{
dy+=this.ref.offsetTop;
this.ref.style.top=dy+"px"
}
DivObject.prototype.setdY=divObject_setdY
// Définir la position horizontale de l'object DIV référencé
function divObject_setX(x)
{
this.ref.style.left=x+"px"
}
DivObject.prototype.setX=divObject_setX
// Définir la position verticale de l'object DIV référencé
function divObject_setY(y)
{
this.ref.style.top=y+"px"
}
DivObject.prototype.setY=divObject_setY
// Création des objects nécessaire au chargement
function load()
{
// D'abord la zone cadre qui va servir de support à la zone de texte
zonecadre=new DivObject("cadre");
// On définit ensuite les dimensions de la zone de cadres
zonecadre.setSize(180,250);
// Puis sa position
zonecadre.setPos(10,100);
zonetexte=new DivObject("texte");
}
// Tout le code Javascript qui suit ne sert que pour le scroll automatique ...
// name : le nom de la variable javascript déclarée comme objet de type DivObject
// direction : "UP", "DOWN", "LEFT" ou "RIGHT"
// start : mettre à zéro (pas utilisé)
// end : valeur qui met fin au scrolling lorsque la coordonnée x ou y de l'objet DIV référencé atteind ou dépasse cette valeur
// step : pas entre 2 déplacements
// time : durée en milliseconde entre 2 appels au timer
function divObject_scrollStart(name,direction,start,end,step,time)
{
// Si déjà un timer en cours on sort ..
if (this.timerMove) return;
this.step=step
this.start=start
this.end=end
this.name=name
this.time=time
this.timerMove=null
this.direction=direction
// Lance le timer
if (!this.timerMove) this.timerMove=setInterval(this.name+".move()",this.time);
}
DivObject.prototype.scrollStart=divObject_scrollStart
function divObject_move()
{
stop=true
switch (this.direction)
{
case "UP" :
if (this.ref.offsetTop >= this.end)
{
stop=false
this.setdY(-this.step)
}
break;
case "DOWN" :
if (this.ref.offsetTop <= this.end)
{
stop=false
this.setdY(this.step)
}
break;
case "LEFT" :
if (this.ref.offsetLeft >= this.end)
{
stop=false
this.setdX(-this.step)
}
break;
case "RIGHT" :
if (this.ref.offsetLeft <= this.end)
{
stop=false
this.setdX(this.step)
}
break;
}
if (stop) this.scrollStop()
}
DivObject.prototype.move=divObject_move
function divObject_scrollStop()
{
if (this.timerMove) clearInterval(this.timerMove);
this.timerMove=null
}
DivObject.prototype.scrollStop=divObject_scrollStop
// -->
</script>
</head>
<body onload="load()">
<form>
<table>
<tr>
<td>
<fieldset><legend>Remote control</legend>
<input type="button" value="Gauche" onclick="zonetexte.setdX(-10)">
<input type="button" value="Droite" onclick="zonetexte.setdX(10)">
<input type="button" value="Haut" onclick="zonetexte.setdY(-10)">
<input type="button" value="Bas" onclick="zonetexte.setdY(10)">
<input type="button" value="R.a.z" onclick="zonetexte.setPos(5,0)">
</fieldset>
</td>
<td valign=center>
<fieldset><legend>Défilement auto</legend>
<input type="button" value="Start" onclick="zonetexte.scrollStart('zonetexte','UP',0,-140,2,100)">
<input type="button" value="Stop" onclick="zonetexte.scrollStop()">
</fieldset>
</tr>
</table>
</form>
<div id="cadre" class=stylecadre>
<div id="texte" class=styletexte>
<p class=perso nowrap>
Salut vrompir<br><br>
Ce texte est contenu dans un layer appelé "texte" lui même contenu dans un autre layer (en gris) appelé "cadre".<br>
Le contenu du layer "texte" ne peut pas sortir de la zone délimitée par le layer "cadre" qui peut très bien être une image.<br><br>
Clique sur <font color=#FF0000>[Start]</font> pour faire automatiquement défiler ce texte vers le haut.<br><br>
N'oublie pas de cliquer ensuite sur [Stop] pour mettre fin au timer ...<br><br>
Php<br><br>
[[ The Truth is Out There ]]</p>
</div>
</div>
</body>
</html>
Si tu as un pb par rapport au code, laisse un msg ;:)
@+
Philippe
[[ The Truth is Out There ]]