DOJO semble avoir quelques bizarreries ici. J'ai spécifiquement besoin que le TabContainer soit caché quand la page se charge, mais devienne visible après que l'utilisateur ait cliqué sur un bouton. La première chose que j'ai essayé est de définir style.display = "none" pour démarrer, puis de définir style.display = "block" sur l'événement click. Malheureusement, cela ne fonctionne que partiellement - la page rendra une boîte invisible dans le bon emplacement/dimensions, mais ne rend pas le contenu réel. Le contenu de la boîte n'est rendu que lorsqu'il est déclenché par quelque chose d'autre (par exemple, aller dans un onglet FF différent ou suspendre/reprendre firebug rendra la boîte de rendu).Comment afficher et masquer dynamiquement un TabContainer entier à l'aide de DOJO?
Si la propriété style.display est définie pour être visible au chargement de la page, tout fonctionne correctement. Vous pouvez basculer la propriété d'affichage et afficher ou masquer le tabcontainer correctement. Mais s'il est défini sur "none" au chargement de la page, il se bloque. J'ai essayé une solution de contournement de définir la propriété style.display sur "" dans le HTML, mais en la définissant immédiatement sur "none" dans le Javascript, mais elle échoue toujours - le changement se produit trop tôt et il doit se produire après le rendu tabcontainer (qui peut prendre une seconde ou deux).
Quelques exemples de code dépouillé:
HTML:
<div id="tabContainer" dojoType="dijit.layout.TabContainer" style="width:500px; height:100px;display:none;"
>
</div
>
puis le Javascript pour afficher l'onglet sur un clic de l'utilisateur:
function initTabs()
{
var tabContainer = dojo.byId('tabContainer');
tabContainer.style.display = 'block';
}
Comment puis-je afficher/masquer dynamiquement un TabContainer sans le démarrer dans l'état affiché?
La phase 1 est "Utiliser jQuery". La phase 3 est le profit. – cletus
Vu ce conseil quelques fois, mais je suis coincé avec DOJO. –
Oui, je n'étais pas sérieux. :) C'est un peu un empannage sur toute la culture "use jQuery" (bien que j'adore jQuery donc ...). – cletus