Forum de discussion
Forum « Programmation HTML » (archives)
Re: Scrollabars dans un tableau + colonne fixe
Envoyé: 1er mars 2006, 15h16 par Oznog
Tu dois pouvoir combiner plusieurs objet distincts, un pour en haut, un pour la gauche et un pour le centre.
Ensuite, chaque espaces doit défiller dans les deux axe x/y et accèssible en Javascript, tant au niveau des propriété que du contenu.
Enfin, l'ultime défi sera de synchroniser le défillement de deux de ses objets en même temps. Celui du centre avec celui du haut, ou celui du centre avec celui de gauche.
Outre le jeu de cadres (frameset) qui me semble quelque peu excessif dans le cas présent, les objets dont tu disponses sont limités. Le « iFrame » ou un bloc DIV. Dans les deux cas le code diffère très peu. Mais faut le trouver !! Voilà ce que j'ai pour toi.
<html>
<head>
<title>Défillement syncronisé - Trucsweb.com</title>
<script language="JavaScript1.2">
<!--
// Script gratuit des Trucsweb.com
// AUTEUR : Django Blais
// Laisser cette remarque s.v.p.
function twAjusteDefillement(_position1,_position2) {
haut.scrollLeft = parseInt(_position1);
gauche.scrollTop = parseInt(_position2);
}
//-->
</script>
</head>
<body>
<h5>Défillement syncronisé</h5>
<p>Étonnament ça fonctionne avec Firefox aussi!!</p>
<table><tr><td> </td><td>
<DIV id="haut" STYLE="overflow: hidden; text-overflow: ellipsis; width: 300px; height: 15px; padding:0px; margin: 0px; ">
<p><nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z - - </nobr></p>
</div>
</td></tr>
<tr><td valign="top">
<DIV id="gauche" STYLE="overflow: hidden; width: 20px; height: 190px; padding:0px; margin: 0px">
<p>1<br >2<br >3<br >4<br >5<br >6<br >7<br >8<br >9<br >10<br >11<br >12<br >13<br >14<br >15<br >16<br >17<br >18<br >19<br >20<br >21<br >22<br >23<br >24<br >25<br >26<br >27<br >28<br >29<br >30</p>
</div>
</td><td valign="top">
<DIV id="contenu" STYLE="overflow: scroll; width: 300px; height: 210px; padding:0px; margin: 0px" onscroll="twAjusteDefillement(contenu.scrollLeft,contenu.scrollTop);">
<p >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
<nobr>A - B - C - D - E - F - G - H - I - J - K - L - M - N - O - P - Q - R - S - T - U - V - W - X - Y - Z</nobr><br >
</p>
</div>
</td></tr>
</table>
</body>
</html>
Aussi, un petit détail que tu règlera en forcant une largeur minimum des cellules, est de t'assurer que le contenu d'une colonne ne débordera pas sur la suivante, dans quel cas tout le tableau sera décallé.
Ciao
Oznog
Réponses
|