cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 6 juil. 2007 à 09:31
Bonjour,
_ quand appelle-t-on changeImage(value) ? qui est censé faire ce que tu veux.
_ Img est un entier. Img.src ça ne correspond à rien, si ?
_ le "défilement "est assuré par function moveLayer(Sens)
qui déplace le div 'contenu'.
donc... soit tu remets les "adresses" comme elles étaient au départ,
soit il faut voir autrement le défilement
Timer = setTimeout("moveLayer(" + Sens + " );", 50);
}
</script>
Je vais abandonner l'idée de passer à la 1ère image une fois arrivée à la dernière.
Quelqu'un a t-il une idée pour que le défilement vers le bas s'arrête à
la dernière image. Il le fait bien vers le haut en s'arrêtant à la 1ère
image.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 6 juil. 2007 à 12:47
B onjour...
Il le fait bien vers le haut en s'arrêtant à la 1ère
-> normal c'est géré
if(parseInt(Objet.style.top) + (Pas*Sens) > 0)
Objet.style.top = "0px";
Quelqu'un a t-il une idée pour que le défilement vers le bas s'arrête à la dernière image
-> Il faut faire la même gestion pour l'arrivée en bas...
1/ Recup de la hauteur du DIV contenant
2/ Recup de la hauteur du DIV contenu
3/ Test quand
le top du contenu est inférieur à -(Hauteur_Contenu -Hauteur_Contenant) on stoppe tout...
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 6 juil. 2007 à 12:54
YO !
J'ai pas mal de soucis avec la mise en page 1000 excuses...
Pour info tu peux également voir <CHEVILLES QUI ENFLENT>l'Excellente source</CHEVILLES QUI ENFLENT> ICI et ne garder que ce qui t'intérresse...
PS : la balise <MARQUEE> restant un bon compromis..
;0)
cs_virusss
Messages postés4Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention11 juillet 2007 9 juil. 2007 à 12:15
J'ai donc regardé du côté de la balise <marquee> mais c'est quand même moins bien.
Elle ne sembe pas fonctionné sur tous les navigateurs même si c'est bon sur IE et firefox.
Puis le défilement vers le haut commence bien en haut du conteneur pour firefox mais en bas sous IE, c'est moins esthétique.
Et surtout mes flèches ne servent plus à rien alors que j'aime bien ce principe
Bref je m'y résoudrait si j'arrive vraiment pas à stopper le défilement des images à la dernière avec le javascript.
Pour le test quand :
le top du contenu est inférieur à -(Hauteur_Contenu -Hauteur_Contenant) on stoppe tout...
ça donnerai quoi en langage java:
if ..... >......
.stop()
histoire que je n'ai pus qu'a rentrer les valeurs ben oui je suis vraiment une merde en javascript
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 9 juil. 2007 à 20:22
B onjour...
Tout d'abord on ne dis pas je suis une M...E en Java mais je débute en javascript.
La maison ne reculant devant aucun sacrifice, bien que le but ne soit pas d'obtenir une source toute faite, cela pourrait ressembler à cela.
<script type= "text/javascript" language="JavaScript">
var Timer;
var Pas = 3; // vitesse défilement texte
var Img = 1; // le numéro de l'image à afficher
var End = 11; // le numéro de la dernière image
var H_Fenetre = -1;
var H_Bandeau;
//---------------------- function moveLayer(Sens){
var Obj;
if( H_Fenetre < 0){
//-- Recup hauteur objet defilant
Obj = document.getElementById( "Contenu");
H_Bandeau = Obj.offsetHeight;
//-- Recup hauteur zone de defilement
Obj = document.getElementById( "Support");
H_Fenetre = Obj.offsetHeight;
}
//-- Recup Objet
if(document.getElementById)
Obj = document.getElementById("Contenu" );
else
Obj = document.all["Contenu"]; // Ne sert pas en grand chose
//-- Recup Borne deplacement
var Min_Y = -(H_Bandeau -H_Fenetre);
var Pos_Y = parseInt(Obj.style.top) + (Pas*Sens); // prochaine position du DIV
//-- Test des positions if( Pos_Y > 0){
Obj.style.top = "0px"; // Place a zero }
else{
if( Pos_Y < Min_Y)
Obj.style.top = Min_Y +"px"; // Place en position Haute mini
else{
//-- Deplacement autorise on deplace
Obj.style.top = Pos_Y + "px";
//-- et on y retourne Timer = setTimeout("moveLayer(" + Sens + " );", 50);
}
}
}
</script>
Il est cependant IMPORTANT de déclarer le DIV Contenu comme suit dans la page
height:auto; left: 510px; top: 0px;">
Cela devrait baigner sur la plupart des navigateurs.
cs_virusss
Messages postés4Date d'inscriptionvendredi 11 mai 2007StatutMembreDernière intervention11 juillet 2007 11 juil. 2007 à 10:27
Un grand merci,
Heu oui je dirais que je débute plutôt que je suis une m...., et la prochaine fois ce serait bien que ce soit moi qui vienne en aide à un autre.
Pour ça y'a du taff encore
Ton script est nickel, c'est beaucoup mieux qu'avec la balise <MARQUEE>, y'a de la maîtrise