thejoker31200
Messages postés1Date d'inscriptionmercredi 2 juin 2010StatutMembreDernière intervention 5 janvier 2011
-
5 janv. 2011 à 17:56
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
6 janv. 2011 à 18:46
Bonjour
j'ai amélioré un bout de code pour afficher et cacher du texte avec effet de slide (affichage progressif)
sans le slide ca fonctionne
avec le slide ca fonctionne aussi maais une seule fois sur chacun des items...
mon code
//////////*****/////////
function SuiteH(thingId){
// On ajoute la div a afficher et sa hauteur
/// on recupere le nombre d'id
z=0;
for(i=1; i<=10;i++){
if (document.getElementById("divid" + i) ) z++;
}
//alert ('toto '+z);
//on recupere id de la div a cacher
IDaC=0;
NbId =1;
for (i = 1; i <= z; i++) {
var objet = document.getElementById("divid" + i) ;
//alert ('tutu '+document.getElementById("divid" + i).style.display);
if (objet.style.display == "block") {
IDaC=NbId;
}
NbId++;
}
//alert ('toto '+IDaC);
//on definit la largeur(hauteur) a reduire
largeur = 600;
///on cache la div
//var i;
var targetElement;
//for(i=1; i<=NbId;i++){
/* targetElement = document.getElementById("divid" + i) ;
targetElement.style.display = "none" ;*/
if (IDaC != "0") {
alert ('tata '+IDaC);
var targetElement = document.getElementById("divid" + IDaC);
var lFinalH = 0; //largeur finale
var lActuelH = largeur; //largeur initiale
var timer;
var fctH = function(){
lActuelH -= 10; //Augmente la largeur de -10px
targetElement.style.width = lActuelH + 'px';
if (lActuelH <= lFinalH) {
clearInterval(timer); //Arrête le timer
//targetElement.style.overflow = 'hidden';
targetElement.style.display = "none";
targetElement.style.width = "0"; // Fix du cache de la div +++
}
};
fctH();
timer = setInterval(fctH, 1); //Toutes les 1 ms
//IDaC.innerHTML = "+";
document.getElementById("divid" + IDaC).value = "+";
}
// }
//on montre la div
var objet;
var linal;
var lActuel;
largeur2=600;
var objet = document.getElementById("divid" + thingId) ; // entre les deux le nom du div que tu veux faire apparaître
if (objet.style.display == "none" /*|| !objet.style.display*/) {
alert ('titi '+thingId);
//objet.style.width = "400px";
//objet.style.overflow = "hidden";
//thingId.innerHTML = "-";
document.getElementById("divid" + thingId).value = "-";
var lFinal = largeur2; //largeur finale (la largeur une fois que ça aura fini de déplier)
var lActuel = 0; //largeur initiale (la hauteur au début)
var timer;
var fct = function(){
lActuel += 10; //Augmente la largeur de 10px
objet.style.width = lActuel + 'px';
if (lActuel > lFinal) {
clearInterval(timer); //Arrête le timer
/*objet.style.overflow = 'inherit';*/
}
};
fct();
timer = setInterval(fct, 1); //Toutes les 1 ms
objet.style.display = "block";
}
}