par
Reman » 07 févr. 2006, 17:54
Bonjour,
J'ai mis en place un 'accordeon' RICO qui fonctionne bien par ailleurs, excepté lorsque le contenu d'un panel depasse la taille de celui ci. Je n'arrive pas à integrer un scroll vertical si nécessaire.
Pour gerer ce probleme, d'apres les multiples affichage de source sur les page de chez 'RICO', j'ai pu en déduire ceci :
- styler une div (pour le contenu qui dépasse) avec les propriétés height et overflow ce qui permet théoriquement d'afficher le scroll si nécessaire
- passer lors de la creation de l'accordeon 2 parametres : onHideTab et onShowTab permettant la l'affichage ou non du contenu
je n'arrive pas à comprendre ce
onloads.push, un array dont je ne vois pas l'utilité
voici un exemple de mise en place d'un accordeon :
Code : Tout sélectionner
// Biblios RICO
<script language="javascript" type="text/javascript" src="prototype.js"></script>
<script language="javascript" type="text/javascript" src="rico.js"></script>
<script>
var onloads = new Array();
</script>
// debut de l'accordeon RICO
<div id="TestAccordeon">
<div id="tab1">
<div id="tab1entete" class="accordionTabTitleBar">
Tab1
</div>
<div id="tab1contenu" class="accordionTabContentBox">
Contenu du panel 1...
</div>
</div>
<div id="tab2">
<div id="tab2entete" class="accordionTabTitleBar">
Tab2
</div>
<div id="tab2contenu" class="accordionTabContentBox"style="padding-right:0px">
// ici gestion des propriétés height et overflow pour afficher ou pas le scroll vertical
<div id="codeScroller" style="height:200;overflow:auto;">
Contenu du panel2, qui doit gerer le srcoll vertical
</div>
</div>
</div>
</div>
// fin de l'accordeon RICO
// Lancement de l'accordeon
<script>
onloads.push( makeAccordion ); // Je pense que c'est ici que ca marche pas (??)
$('tab2contenu').style.display = 'none';
function makeAccordion() {
var accordion = new Rico.Accordion( 'TestAccordeon', { panelHeight:250, onHideTab: hideTabContent, onShowTab: showTabContent } );
}
function hideTabContent( aTab ) {
if ( aTab.content.id == "tab2contenu" )
$('codeScroller').style.display = 'none';
}
function showTabContent( aTab ) {
if ( aTab.content.id == "tab2contenu" )
$('codeScroller').style.display = '';
}
</script>
Si quelqu'un maitrise la bête... je l'en remercie d'avance

Bonjour,
J'ai mis en place un 'accordeon' RICO qui fonctionne bien par ailleurs, excepté lorsque le contenu d'un panel depasse la taille de celui ci. Je n'arrive pas à integrer un scroll vertical si nécessaire.
Pour gerer ce probleme, d'apres les multiples affichage de source sur les page de chez 'RICO', j'ai pu en déduire ceci :
- styler une div (pour le contenu qui dépasse) avec les propriétés height et overflow ce qui permet théoriquement d'afficher le scroll si nécessaire
- passer lors de la creation de l'accordeon 2 parametres : onHideTab et onShowTab permettant la l'affichage ou non du contenu
je n'arrive pas à comprendre ce [i]onloads.push[/i], un array dont je ne vois pas l'utilité
voici un exemple de mise en place d'un accordeon :
[code]
// Biblios RICO
<script language="javascript" type="text/javascript" src="prototype.js"></script>
<script language="javascript" type="text/javascript" src="rico.js"></script>
<script>
var onloads = new Array();
</script>
// debut de l'accordeon RICO
<div id="TestAccordeon">
<div id="tab1">
<div id="tab1entete" class="accordionTabTitleBar">
Tab1
</div>
<div id="tab1contenu" class="accordionTabContentBox">
Contenu du panel 1...
</div>
</div>
<div id="tab2">
<div id="tab2entete" class="accordionTabTitleBar">
Tab2
</div>
<div id="tab2contenu" class="accordionTabContentBox"style="padding-right:0px">
// ici gestion des propriétés height et overflow pour afficher ou pas le scroll vertical
<div id="codeScroller" style="height:200;overflow:auto;">
Contenu du panel2, qui doit gerer le srcoll vertical
</div>
</div>
</div>
</div>
// fin de l'accordeon RICO
// Lancement de l'accordeon
<script>
onloads.push( makeAccordion ); // Je pense que c'est ici que ca marche pas (??)
$('tab2contenu').style.display = 'none';
function makeAccordion() {
var accordion = new Rico.Accordion( 'TestAccordeon', { panelHeight:250, onHideTab: hideTabContent, onShowTab: showTabContent } );
}
function hideTabContent( aTab ) {
if ( aTab.content.id == "tab2contenu" )
$('codeScroller').style.display = 'none';
}
function showTabContent( aTab ) {
if ( aTab.content.id == "tab2contenu" )
$('codeScroller').style.display = '';
}
</script>
[/code]
Si quelqu'un maitrise la bête... je l'en remercie d'avance :wink: