Selectionner une taille en % pour mon objet défilant

Résolu
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008 - 15 janv. 2008 à 14:50
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008 - 17 janv. 2008 à 14:23
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

lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
17 janv. 2008 à 14:23
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...
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 janv. 2008 à 16:37
Bonjour,
   certes...   
   mais après, tu l'utilises comment sliderheight/sliderwidth ?
<hr />
                Cordialement            Bul         «mon Site»     «M'écrire»
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
16 janv. 2008 à 11:09
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
16 janv. 2008 à 11:09
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
16 janv. 2008 à 11:10
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
16 janv. 2008 à 11:11
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
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
16 janv. 2008 à 20:02
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)
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
16 janv. 2008 à 20:17
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 ^^
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
17 janv. 2008 à 12:10
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 ?
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
17 janv. 2008 à 12:40
>>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»
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
17 janv. 2008 à 12:46
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".
0
lebeef Messages postés 20 Date d'inscription mardi 15 janvier 2008 Statut Membre Dernière intervention 1 février 2008
17 janv. 2008 à 13:05
C'est bon j'ai réussi enfin... Merci de votre aide à tous !!!
0
Rejoignez-nous