Bonjour, bonjour !
Aujourd'hui et pour ma première astuce, j'adapte un code de Sparrow-style (avec sa permission ) qui est l'un de ses célèbres accordéons ! Mais avec du JavaScript cette fois !
En effet, vous avez été quelques uns à vous demander s'il était possible "d'avoir le même mais avec clic et pas survol". Donc, on l'a fait. Et comme je suis pas douée pour les longs discours, voyez par vous même !
>> Aperçu <<
Comme pour celui de Sparrow, il vous sera possible de changer les couleurs et/ou images de fond pour chaque onglet ou encore de modifier le fond du contenu, les images, la taille (l'astuce pour la taille est à la fin, au départ le contenu a 250px de hauteur), tout ça quoi ^^.
Let's go !
Je préviens, la manipulation est un tout petit peu plus complexe que la version "survol" et il faut que vous ayez le JavaScript activé sur votre forum. Mais je vais vous expliquer tout ça en détail, don't worry Willy.
1. Le HTML
Copiez/collez ce code là où vous voudrez voir apparaître votre accordéon (Page d'accueil, QEEL, autre...).
- Code:
<div id="pa">
<div id="partie1" class="partie">
<span class="titre">Titre partie 1</span>
<div class="content">Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.
</div>
</div>
<div id="partie2" class="partie">
<span class="titre">Titre partie 2</span>
<div class="content">Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.</div>
</div>
<div id="partie3" class="partie"><span class="titre">Titre partie 3</span>
<div class="content">Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.</div>
</div>
<div id="partie4" class="partie">
<span class="titre">Titre partie 4</span>
<div class="content">Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.</div>
</div>
<div id="partie5" class="partie bot">
<span class="titre">Titre partie 5</span>
<div class="content">Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.Utque proeliorum periti rectores primo catervas densas opponunt et fortes, deinde leves armaturas, post iaculatores ultimasque subsidiales acies, si fors adegerit, iuvaturas, ita praepositis urbanae familiae suspensae digerentibus sollicite, quos insignes faciunt virgae dexteris aptatae velut tessera data castrensi iuxta vehiculi frontem omne textrinum incedit: huic atratum coquinae iungitur ministerium, dein totum promiscue servitium cum otiosis plebeiis de vicinitate coniunctis: postrema multitudo spadonum a senibus in pueros desinens, obluridi distortaque lineamentorum conpage deformes, ut quaqua incesserit quisquam cernens mutilorum hominum agmina detestetur memoriam Samiramidis reginae illius veteris, quae teneros mares castravit omnium prima velut vim iniectans naturae, eandemque ab instituto cursu retorquens, quae inter ipsa oriundi crepundia per primigenios seminis fontes tacita quodam modo lege vias propagandae posteritatis ostendit.</div>
</div>
<!-- Merci de ne PAS enlever le crédit ! Il est fait pour être en petit, de la couleur de vos liens, en dessous de l'accordéon, il ne fera pas fuir vos membres ;) et il permet de remercier le créateur du code que vous utilisez pour votre propre forum [Sparrow-style] -->
<span class="credit"><a href="http://www.never-utopia.com">(c) par Never-Utopia</a></span>
</div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
2. Le CSS
Copiez/collez ce code dans la Feuille CSS de votre forum, c'est à dire : dans le Panneau d'Admin > Affichage > Couleurs > Feuille de style CSS.
- Code:
#pa
{
width: 900px;
border: 3px dotted #00000;
margin: auto;
}
.partie
{
border-bottom: 1px dotted #877867;
overflow: hidden;
width: 900px;
}
#partie1
{
background-color: #b8a692;
}
#partie2
{
background-color: #ccbcaa;
}
#partie3
{
background-color: #dcd0c2;
}
#partie4
{
background-color: #e7e1db;
}
#partie5
{
background-color: #f3efeb;
}
.bot
{
border: none;
}
.titre
{
display: block;
text-align: center;
width: 900px;
height: 40px;
font-size: 28px;
letter-spacing: 2px;
font-variant: small-caps;
font-family: courier;
font-weight: bold;
padding-top: 5px;
color: #67523c;
text-shadow: 0px 0px 2px #ffffff;
}
.titre:hover
{
cursor: pointer;
}
.content
{
height:250px;
width: 90%;
margin: auto;
margin-bottom: 10px;
border: 1px dotted #958677;
background-color: #eceae7;
padding: 6px;
color: #715d47;
font-size: 11px;
text-align: justify;
}
.credit
{
display: block;
text-align: right;
margin-right: 20px;
}
.credit a
{
font-size: 10px;
text-decoration: none !important;
}
Astuce 1 - La taille du contenu s'adapte au contenu :
- Spoiler:
- Faites une recherche dans ce même CSS et trouvez la balise " height: 250px; " qui se trouve juste après un " .content { " et supprimez-la !
Néanmoins, notez que votre page pourra avoir des "saccades" si vos contenus ne sont pas assez grands.
Astuce 2 - Modifiez certaines tailles :
- Spoiler:
- Dans la balise HTML "div" (celle qui ouvre) du contenu que vous voulez agrandir ou rétrécir, rajoutez
- Code:
id="contenu1"
et dans le CSS (en replaçant le nombre par la taille que vous voulez) :
- Code:
#contenu1{ height: 200px; }
A noter que si vous souhaitez changer la taille de plusieurs contenus, il faudra mettre à chaque fois un identifiant différent ! " contenu1", "contenu2", 3, 4 etc...
3. Le JavaScript
Pour le JavaScript, allez dans votre panneau d’administration > Module > Gestion des pages Javascript.
Vérifiez tout d'abord que le JavaScript est bien activé.
Ensuite, créez une nouvelle page avec le nom que vous voulez. Sélectionnez n'importe lequel des choix sauf index et copiez/collez ce code dans votre page :
- Code:
// JavaScript by Glycérine [Never Utopia]
$("#pa div.partie div.content").hide();
$("#pa div.partie .current").parent().find("div.content").slideToggle("slow");
$("#pa div.partie .titre").click(
function ()
{
$(this).parent().siblings().find("div.content").slideUp("normal");
if($(this).parent().hasClass("current"))
{
$("#pa div.partie").removeClass("current");
}
else
{
$("#pa div.partie").removeClass("current");
$(this).parent().toggleClass("current");
}
$(this).next().slideToggle("normal");
return false;
}
);
Validez et retourner sur la gestion de vos pages. Votre page est créée et son lien est normalement dans la liste. Copiez le et gardez le.
Ensuite, à la suite du code HTML que vous avez ajouter un peu plus tôt, juste en dessous, vous ajoutez cette ligne en remplaçant les xxx par le lien de votre page JavaScript que vous gardez précieusement.
- Code:
<script type="text/javascript" src="xxx"></script>
Validez, cliquez et admirez ! \o/
Je vais citer Sparrow pour ce qui est des crédits de Never-Utopia
Je le répète, mais svp n'enlevez pas le crédit en fin de code ! Je suis très généreux mais j'apprécie d'avoir un remerciement et j'estime que celui-ci est correct, pas excessivement voyant et normal pour utiliser quelque chose que j'ai mis du temps à réaliser
Pour personnaliser votre page d'accueil, vous devez savoir deux choses :
1) Il ne faut pas retirer ou modifier les CLASS et ID sous peine que votre PA ne soit plus cliquable et ne nous montre plus ses jolis onglets.
2) Une balise HTML peut avoir plusieurs CLASS sous la forme suivante : " class="class1 class2" (chaque CLASS est donc listée l'une à la suite de l'autre et séparée de la précédente par un simple espace).
Maintenant, pour qu'un onglet soit directement ouvert sur votre PA/QEEL, vous devez ajouter une CLASS sur la partie que vous souhaitez voir apparaître. Par exemple, la dernière, facile à repérer car elle contient en plus la CLASS "bot" (diminutif de bottom - en bas).
Repérez cette ligne :
- Code:
<div id="partie5" class="partie bot">
Et ajoutez lui la class "ouvert" par exemple.
- Code:
<div id="partie5" class="partie bot ouvert">
Une fois ça fait, dans votre JavaScript, ajoutez la ligne suivante :
- Code:
$("#pa div.ouvert").find("div.content").show();
APRES celles-ci :
- Code:
$("#pa div.partie div.content").hide();
$("#pa div.partie .current").parent().find("div.content").slideToggle("slow");
Et pour que l'onglet se rouvre automatiquement quand tous les autres sont fermés, vous remplacez ces lignes (toujours dans le Javascript) :
- Code:
if($(this).parent().hasClass("current"))
{
$("#pa div.partie").removeClass("current");
{
(Ces lignes ont été corrigées il y a peu, donc si vous avez pris l'ancienne version du tutoriel, corrigez votre javascript avant !)
Par celles-ci :
- Code:
if($(this).parent().hasClass("current") && !$(this).parent().hasClass("ouvert"))
{
$("#pa div.ouvert").find("div.content").slideToggle("normal");
$("#pa div.partie").removeClass("current");
}
Dernière édition par Glycérine le Dim 15 Juil 2012 - 11:38, édité 3 fois