Selectionner une taille en % pour mon objet défilant [Résolu]

Signaler
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008
-
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008
-
Bonjour,

Grâce à l'aide d'un compatriote bien aimable de javascriptfr, j'ai réussi à faire ceci http://www.univie.ch/Fr/corp/liens.php (les images qui défilent en boucles en js).

Maintenant j'aurais bien voulu mettre ceci comme tout le reste de mon site en pourcentage.

ma formule pour la longueur est la suivante :

var sliderwidth= "800px";
var sliderheight="40px";

Le problème est que lorsque je change les pixels en pourcents, plus rien en s'affiche. Y'aurait-il une formule spécial à insérer pour indiquer qu'il s'agit de pourcent ou bien es-ce qu'il est impossible de mettre cette objet en pourcent ?

Merci d'avance.

12 réponses

Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Re bonjour,

J'ai un petit bug maintenant que j'ai réussis à "réparer" le problème que j'avais avant...

Sur cette page, d'ailleurs sur toutes les pages qui contiennent mon objet, la page est super longue, et je vois pas trop d'ou pourrait provenir le problème, vu que dans mon code il y a une seul valeur et elle fait 80% de la page...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
   certes...   
   mais après, tu l'utilises comment sliderheight/sliderwidth ?
<hr />
                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Bonjour,

Merci pour ta réponse déjà, et mon slideheight et width je les utilise comme suis :

<script  language= "JavaScript" type="text/JavaScript">
var sliderwidth= "800px";
var sliderheight="40px";
var slidespeed=2;
slidebgcolor="#FFFFFF";
var leftrightslide=new Array();
var finalslide='';

leftrightslide[0]=''




var
copyspeed =slidespeed;
leftrightslide= '<nobr>'+leftrightslide.join(" ")+'</nobr>';
var iedom =document.all||document.getElementById;
if (iedom)
document.write(''+leftrightslide+'');
var actualwidth= '';
var cross_slide, ns_slide;



function fillup(){
if (iedom){
cross_slide =document.getElementById? document.getElementById("test2") : document.all.test2;
cross_slide2= document.AgetElementById? document.getElementById("test3") : document.all.test3;
cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide;
actualwidth =document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth;
cross_slide2.style.left= actualwidth +20+"px";
}
else if (document.layers){
ns_slide =document.ns_slidemenu.document.ns_slidemenu2;
ns_slide2= document.ns_slidemenu.document.ns_slidemenu3;
ns_slide.document. write (leftrightslide);
ns_slide.document.close();
actualwidth =ns_slide.document.width;
ns_slide2.left= actualwidth +20;
ns_slide2.document.write(leftrightslide);
ns_slide2.document.close();
}
lefttime =setInterval("slideleft()",30);
}
window.onload= Init_Page;


function slideleft(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px";
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+ actualwidth +20+"px";


if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
cross_slide2.style.left =parseInt(cross_slide2.style.left)-copyspeed+"px";
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+20+"px";


}
else if (document.layers){
if (ns_slide.left>(actualwidth*(-1)+8))
ns_slide.left-=copyspeed;
else
ns_slide.left=ns_slide2.left+actualwidth+20;



if (ns_slide2.left>(actualwidth*(-1)+8))


ns_slide2.left-=copyspeed;


else


ns_slide2.left=ns_slide.left+actualwidth+20;
}
}


if (iedom||document.layers){
with (document){


document.write('');

if (iedom){

write('
');
write('
');
write('

');
write('

');
write('
</dAiv>');

}
else if (document.layers){
write('');
write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>');
write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"></layer>');
write('');
}
document.write('
');
}
}
        </script>

Les couleurs sont aproximatives ^^, j'ai mis les choses les plus importantes en gras surtout (enfin ce qui me semble important).

Je penses que le problème doit venir de mon code juste après le moment ou j'insère une image...

Merci d'avance
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
Bonjour,
le problème vient du fait que lorsque tu affectes une taille en px au DIV le navigateur force le contenant, en l'occcurrence la TABLE dans ton cas, à s'élargir, n'ayant pas de dimension elle vaut ZERO au départ.
Si tu mets en %, 80% de ZERO = ZERO et ce de tout temps.
Il s'agit la d'un pourcentage par rapport au contenant.

PS :
- reprend quand même ton fichier il est rempli d'ERREUR, heureusement que les navigateurs sont conciliant...
- supprimes toutes les références à document.layers, exclusif NS4, pais à son âme, ton code s'en trouvera allégé et plus clair.

;O)
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Je te remerci encore une fois ^^

C'est déjà la deuxième hehe.

Je vais voir ce que j'arrive à faire et surtout

MMMMMMMMMEEEEEEEEEEEERRRRRRRRRRRRRRRCCCCCCCCCCCCCIIIIIIIIIIIIIIIIIIIIIIIIIII

Bonne soirée ^^
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Alors après une nuit sans dormir et à essayer de chercher la solution à mon problème, la seul chose que j'ai réussi à obtenir c'est.... modifier une faute dans mon objet, un <dAiv> que j'ai modifié en
. Mais cela n'a pas changé grand chose...

Comme moi et le javascript ca doit faire 4, es ce que quelqu'un serait d'accord de m'aider à faire l'objet défilant ? ou à me donner un tuto dans lequel je pourrais trouver le même objet ?
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
>>quelqu'un serait d'accord de m'aider à faire l'objet défilant ?
    la balise <marquee>  ça ne suffirait pas ?


<hr />                Cordialement            Bul         «mon Site»     «M'écrire»
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

Avec la balise marquee le problème est que les images commencent à défiler par la droite donc il y a un énorme blanc pendant un moment, tendis que avec celui la, les images sont déjà toutes présentent et elles défilent en boucle sans "blanc".
Messages postés
20
Date d'inscription
mardi 15 janvier 2008
Statut
Membre
Dernière intervention
1 février 2008

C'est bon j'ai réussi enfin... Merci de votre aide à tous !!!