Utilisateur:Goultard/Brouillon2 : Différence entre versions

De La Grande Bibliotheque de Tamriel
Aller à : navigation, rechercher
(Page créée avec « * * Utilisation du modèle Modèle:Animation : var Diaporama = {}; Diaporama.Params = {}; Diaporama.Fonctions = {}; Diaporama.Params.DiaporamaIndex = 0; Diaporama.P... »)
 
 
(109 révisions intermédiaires par 3 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
/**
+
{{colonnes|taille=18|
* Utilisation du modèle Modèle:Animation
+
* ''[[A l'attention de l'anachorète Gaius]]''
*/
+
* ''[[A qui de droit]]''
 
+
* ''[[Apocrypha, Apocrypha]]''
var Diaporama = {};
+
* ''[[Arkay, l'ennemi]]''
Diaporama.Params = {};
+
* ''[[Aux ordres de Drulshasa]]''
Diaporama.Fonctions = {};
+
* ''[[Bien installé]]''
 
+
* ''[[Bisnensel : nos anciennes racines]]''
Diaporama.Params.DiaporamaIndex = 0;
+
* ''[[Boéthia et ses avatars]]''
Diaporama.Params.ImageDelay = 1;
+
* ''[[Chose promise]]''
Diaporama.Params.Paused = [];
+
* ''[[Combien de temps ?]]''
Diaporama.Params.Visible = [];
+
* ''[[Contrat occulte]]''
Diaporama.Params.Length = [];
+
* ''[[Correspondance de la Flamme éveillée]]''
Diaporama.Params.Delay = [];
+
* ''[[Dans les rêves nous nous éveillons]]''
Diaporama.Params.Timeout = [];
+
* ''[[De la clémence]]''
 
+
* ''[[Dernière supplique]]''
Diaporama.Fonctions.Init = function(node){
+
* ''[[Dossier des Daedra : les titans]]''
if (!node) {
+
* ''[[Frappons !]]''
node = document;
+
* ''[[Glorieuses révoltes]]''
}
+
* ''[[Il y a un moyen]]''
var Diaporamas = $( node ).find( 'div.diaporama' ).get();
+
* ''[[Ils devraient se prosterner]]''
for (var a=0, l=Diaporamas.length; a<l; a++) {
+
* ''[[Invocation d'Hircine]]''
Diaporama.Fonctions.InitDiaporama(Diaporamas[a]);
+
* ''[[Inébranlable vénération Daedra]]''
}
+
* ''[[Je ne dois pas reculer]]''
};
+
* ''[[Journal (trouvé dans la Champignonnière, 2E 582)|Journal]]''
Diaporama.Fonctions.InitDiaporama = function(DiaporamaDiv){
+
* ''[[Journal de Culanwë]]''
var index = Diaporama.Params.DiaporamaIndex;
+
* ''[[Journal de Graccus, vol. 1]]''
Diaporama.Params.DiaporamaIndex++;
+
* ''[[Journal de Vantir]]''
DiaporamaDiv.id = "Diaporama_"+index;
+
* ''[[L'adoration des Daedra : les Ayléides]]''
var DiaporamaFileContainer = $( DiaporamaDiv ).find( 'div.diaporamaFiles' )[0];
+
* ''[[L'adoration des Daedra : les Chimers]]''
var DiaporamaControl = $( DiaporamaDiv ).find( 'div.diaporamaControl' )[0];
+
* ''[[L'excavation d'Ouze]]''
if (!DiaporamaFileContainer || !DiaporamaControl) {
+
* ''[[La Gloire de Boéthia]]''
return;
+
* ''[[La suite]]''
}
+
* ''[[Le fléau de Llodos]]''
var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
+
* ''[[Le Journal de l'empereur Léovic]]''
var width;
+
* ''[[Le présage de la tromperie]]''
var firstTumbinner = $( DiaporamaFileContainer ).find( 'div.thumbinner' )[0];
+
* ''[[Le présent de l'incendie]]''
if (firstTumbinner) { // force la largeur du diaporama (pour IE)
+
* ''[[Le royaume d'effroi du seigneur Hallowjack]]''
width = firstTumbinner.style.width.split("px").join("");
+
* ''[[Le trésor du village d'Inondelle]]''
} else {
+
* ''[[Les cinq points de l'Étoile]]''
if (DiaporamaFileContainer.firstChild.firstChild) {
+
* ''[[Les cristaux d'amplification]]''
width = DiaporamaFileContainer.firstChild.firstChild.offsetWidth;
+
* ''[[Les eaux d'Oblivion]]''
}
+
* ''[[Les paroles du rongeur]]''
}
+
* ''[[Lettre à Evis Marys]]''
if (width) {
+
* ''[[Lettre à Sentulus]]''
DiaporamaDiv.style.width = (parseInt(width)+30) + "px";
+
* ''[[Lettre à Volgo]]''
}
+
* ''[[Lettre à Véthisa]]''
if (DiaporamaFiles.length<2) {
+
* ''[[Lettre à la diaboliste Volcatia]]''
return;
+
* ''[[Lettre de Josseline]]''
}
+
* ''[[Lettre de Lyranth]]''
Diaporama.Params.Length[index] = DiaporamaFiles.length;
+
* ''[[Lettre de la dame d'effroi]]''
DiaporamaFileContainer.id = "DiaporamaFileContainer_"+index;
+
* ''[[Lettre de la Flamme éveillée]]''
DiaporamaControl.id = "DiaporamaControl_"+index;
+
* ''[[Message d'Alasan]]''
Diaporama.Params.Delay[index] = Diaporama.Params.ImageDelay;
+
* ''[[Mise en garde]]''
var DiaporamaDivClass = DiaporamaDiv.className.HTMLize();
+
* ''[[Missive abandonnée]]''
var ParamDelay = DiaporamaDivClass.match(/Delay[0-9]+(\.|,)?[0-9]*/);
+
* ''[[Note de Verrik]]''
if (ParamDelay !== null) {
+
* ''[[Note déchirée de Jessen]]''
ParamDelay = parseFloat(ParamDelay[0].split("Delay").join("").split(",").join("."));
+
* ''[[Note écrite dans le sang]]''
if (ParamDelay && ParamDelay>0) {
+
* ''[[Notes d'Élégian]]''
Diaporama.Params.Delay[index] = ParamDelay;
+
* ''[[Notes d'initié de la meute]]''
}
+
* ''[[Notes de Drusilla]]''
}
+
* ''[[Notes de discours]]''
Diaporama.Fonctions.ShowThisDiapo(index, 0);
+
* ''[[Notre jeune alliance]]''
var ControlLinks = DiaporamaControl.getElementsByTagName("a");
+
* ''[[Nous avons le contrôle]]''
ControlLinks[0].firstChild.id = "DiaporamaPlay"+index;
+
* ''[[Nouveau seigneur]]''
ControlLinks[0].href = "javascript:Diaporama.Fonctions.Play("+index+");";
+
* ''[[Ordres pour Attius]]''
ControlLinks[1].firstChild.id = "DiaporamaPause"+index;
+
* ''[[Ordres de Sangrépine : crypte d'ébène]]''
ControlLinks[1].href = "javascript:Diaporama.Fonctions.Pause("+index+");";
+
* ''[[Ordres de Sangrépine]]''
ControlLinks[2].firstChild.id = "DiaporamaStop"+index;
+
* ''[[Ordres du superêveur Chartrand]]''
ControlLinks[2].href = "javascript:Diaporama.Fonctions.Stop("+index+");";
+
* ''[[Ordres : galerie de Farangel]]''
ControlLinks[3].firstChild.id = "DiaporamaLast"+index;
+
* ''[[Ordres : mine d'Ursegriffe]]''
ControlLinks[3].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+",-1);";
+
* ''[[Ordres : ruines de Norvulk]]''
ControlLinks[4].firstChild.id = "DiaporamaNext"+index;
+
* ''[[Premier jour]]''
ControlLinks[4].href = "javascript:Diaporama.Fonctions.ToggleDiapo("+index+", 1);";
+
* ''[[Prière à Hircine]]''
ControlLinks[5].parentNode.appendChild(Diaporama.Fonctions.CreateSelect(index, ControlLinks[5].title));
+
* ''[[Rapport d'entraînement]]''
ControlLinks[5].parentNode.removeChild(ControlLinks[5]);
+
* ''[[Rapport d'Odeur-de-Tombes|Rapport de Parfum-de-la-Tombe]]''
for (var e=0, t=ControlLinks.length; e<t; e++) {
+
* ''[[Rapport sur les Sangrépine de Leeza]]''
ControlLinks[e].onmousedown = function(){Diaporama.Fonctions.Onclick(this);};
+
* ''[[Rapport sur les Sangrépine de Sardok]]''
ControlLinks[e].onmouseup = function(){Diaporama.Fonctions.Offclick(this, index);};
+
* ''[[Ravagerel : les étrangers d'Oblivion]]''
ControlLinks[e].firstChild.style.backgroundColor = "white";
+
* ''[[Repousser les Daedra : Le culte de Dagon]]''
ControlLinks[e].onmouseover = function(){ this.focus(); };
+
* ''[[Rêve de mille rêveurs]]''
}
+
* ''[[Rituel de l'Ordre de la flamme éveillée]]''
DiaporamaControl.style.display = "block";
+
* ''[[Rituels de mépris]]''
Diaporama.Fonctions.Pause(index);
+
* ''[[Rêver par-delà les rêves]]''
};
+
* ''[[Rêveurs, notre heure est venue]]''
 
+
* ''[[Rumeurs sur la spirale de l'écheveau]]''
Diaporama.Fonctions.Play = function(index){
+
* ''[[Sermon de l'Éveilleur]]''
if (Diaporama.Params.Paused[index] === false) {
+
* ''[[Sombre contrat]]''
return;
+
* ''[[Tome des portails daedriques]]''
}
+
* ''[[Tome rituel de Brûlepierre]]''
Diaporama.Params.Paused[index] = false;
+
* ''[[Tourne-toi vers l'aube]]''
clearTimeout(Diaporama.Params.Timeout[index]);
+
* ''[[Transcription de l'interrogatoire d'Hilka]]''
Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000);
+
* ''[[Transcription de l'interrogatoire de Hald]]''
var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
+
* ''[[Trop tard pour reculer]]''
ButtonPlay.style.backgroundColor = "silver";
+
* ''[[Un accord est conclu]]''
var ButtonPause = document.getElementById("DiaporamaPause"+index);
+
* ''[[Un décompte des villageois]]''
ButtonPause.style.backgroundColor = "white";
+
* ''[[Un livre de souvenirs]]''
var ButtonStop = document.getElementById("DiaporamaStop"+index);
+
}}
ButtonStop.style.backgroundColor = "white";
 
};
 
 
 
Diaporama.Fonctions.Pause = function(index){
 
Diaporama.Params.Paused[index] = true;
 
clearTimeout(Diaporama.Params.Timeout[index]);
 
var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
 
ButtonPlay.style.backgroundColor = "white";
 
var ButtonPause = document.getElementById("DiaporamaPause"+index);
 
ButtonPause.style.backgroundColor = "silver";
 
var ButtonStop = document.getElementById("DiaporamaStop"+index);
 
ButtonStop.style.backgroundColor = "white";
 
};
 
 
 
Diaporama.Fonctions.Stop = function(index){
 
Diaporama.Params.Paused[index] = true;
 
clearTimeout(Diaporama.Params.Timeout[index]);
 
Diaporama.Fonctions.ShowThisDiapo(index, 0);
 
var ButtonPlay = document.getElementById("DiaporamaPlay"+index);
 
ButtonPlay.style.backgroundColor = "white";
 
var ButtonPause = document.getElementById("DiaporamaPause"+index);
 
ButtonPause.style.backgroundColor = "white";
 
var ButtonStop = document.getElementById("DiaporamaStop"+index);
 
ButtonStop.style.backgroundColor = "silver";
 
};
 
 
 
Diaporama.Fonctions.ToggleDiapo = function(index, diff){
 
clearTimeout(Diaporama.Params.Timeout[index]);
 
var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index);
 
var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
 
var VisibleIndex = Diaporama.Params.Visible[index];
 
var NextDiaporamaIndex = (VisibleIndex+diff);
 
if (NextDiaporamaIndex === DiaporamaFiles.length || NextDiaporamaIndex < 0) {
 
var DiaporamaDiv = document.getElementById("Diaporama_"+index);
 
if ( diff < 0 || ! $( DiaporamaDiv ).hasClass( 'AutoLoop' ) ) {
 
return;
 
}
 
NextDiaporamaIndex = 0;
 
}
 
Diaporama.Fonctions.ShowThisDiapo(index, NextDiaporamaIndex);
 
};
 
 
 
Diaporama.Fonctions.ShowThisDiapo = function(index, Value){
 
clearTimeout(Diaporama.Params.Timeout[index]);
 
var DiaporamaFileContainer = document.getElementById("DiaporamaFileContainer_"+index);
 
var DiaporamaFiles = $( DiaporamaFileContainer ).find( 'div.ImageFile' ).get();
 
for (var x=0, z=DiaporamaFiles.length; x<z; x++) {
 
if (x !== Value) {
 
DiaporamaFiles[x].style.display = "none";
 
} else {
 
DiaporamaFiles[x].style.display = "block";
 
}
 
}
 
Diaporama.Params.Visible[index] = Value;
 
Diaporama.Fonctions.UpdateBar(index);
 
Diaporama.Fonctions.UpdateSelect(index);
 
if (!Diaporama.Params.Paused[index]) {
 
var multipl = 1;
 
if (Value === (Diaporama.Params.Length[index]-1)) {
 
multipl = 3;
 
}
 
Diaporama.Params.Timeout[index] = setTimeout("Diaporama.Fonctions.ToggleDiapo("+index+",1);", Diaporama.Params.Delay[index]*1000*multipl);
 
}
 
};
 
 
 
Diaporama.Fonctions.CreateSelect = function(index, Title) {
 
var s, Opt;
 
var Total = Diaporama.Params.Length[index];
 
var Select = document.createElement('select');
 
Select.id = "DiaporamaSelect"+index;
 
Select.title = Title;
 
for ( s=0; s<Total; s++ ) {
 
Opt = document.createElement('option');
 
if (s === 0) {
 
Opt.selected = "selected";
 
}
 
Opt.text = (s+1)+"/"+Total;
 
Opt.innerHTML = (s+1)+"/"+Total;
 
Opt.value = s;
 
Select.appendChild(Opt);
 
}
 
Select.onchange = function(){ Diaporama.Fonctions.SelectDiapo(Diaporama.Fonctions.getIndex(this)); };
 
Select.onmouseover = function(){ this.focus(); };
 
return Select;
 
};
 
 
 
Diaporama.Fonctions.SelectDiapo = function(index){
 
var Select = document.getElementById("DiaporamaSelect"+index);
 
if (!Select) {
 
return;
 
}
 
var Opts = Select.getElementsByTagName('option');
 
for (var o=0, p=Opts.length; o<p; o++) {
 
if (Opts[o].selected) {
 
var Value = parseInt(Opts[o].value);
 
return Diaporama.Fonctions.ShowThisDiapo(index, Value);
 
}
 
}
 
};
 
 
 
Diaporama.Fonctions.UpdateSelect = function(index){
 
var Select = document.getElementById("DiaporamaSelect"+index);
 
if (!Select) {
 
return;
 
}
 
var Opts = Select.getElementsByTagName('option');
 
for (var o=0, p=Opts.length; o<p; o++){
 
if (o === Diaporama.Params.Visible[index]) {
 
Opts[o].selected = "selected";
 
} else {
 
Opts[o].selected = false;
 
}
 
}
 
};
 
 
 
Diaporama.Fonctions.UpdateBar = function(index){
 
var Percent = (100/(Diaporama.Params.Length[index]-1)) * Diaporama.Params.Visible[index];
 
if (Percent>100) {
 
Percent = 100;
 
}
 
var DiaporamaControl = document.getElementById("DiaporamaControl_"+index);
 
var DiaporamaScrollBar = $( DiaporamaControl ).find( 'div.ScrollBar' )[0];
 
DiaporamaScrollBar.style.width = Percent + "%";
 
};
 
 
 
Diaporama.Fonctions.Onclick = function(Link){
 
var Image = Link.getElementsByTagName('img')[0];
 
Image.style.backgroundColor = "gray";
 
};
 
 
 
Diaporama.Fonctions.Offclick = function(Link, index){
 
var Span = Link.parentNode;
 
var Image = Link.getElementsByTagName('img')[0];
 
var DiapoState = Diaporama.Params.Paused[index];
 
if ( ( $( Span ).hasClass( 'Play' ) && DiapoState === false ) || ( ( $( Span ).hasClass( 'Pause' ) || $( Span ).hasClass( 'Stop' ) ) && DiapoState === true ) ){
 
Image.style.backgroundColor = "silver";
 
} else {
 
Image.style.backgroundColor = "white";
 
}
 
};
 
 
 
Diaporama.Fonctions.getIndex = function(Element){
 
return parseInt(Element.id.replace(/[^0-9]/g, ""));
 
};
 
 
 
$( function () {
 
Diaporama.Fonctions.Init();
 
} );
 

Version actuelle datée du 29 mars 2023 à 19:42