bandeau defilant en javascript

bandeau defilant en javascript - HTML/CSS - Programmation

Marsh Posté le 24-04-2006 à 20:03:52    

bonjour a tous,
 
je suis en train de créer un diaporama en javascript ou l'utilisateur rentre certains parametres avant de lancer le diaporama qui s'ouvre lui meme dans une fenetre pop up.
 
Dans l'un de ces parametres, l'utilisateur a l'opportunité de rentrer un message dans un bandeau defilant de type <marquee ....></marquee> qui s'affiche au dessus de la fenetre pop up
 
toutefois, etant donné que la fenetre pop up se rafraichie toutes les 5 secondes (lors du changement de photo), ce message se refraichi egalement, et par consequent repars du debut, chose que je ne sopuhaite pas.
 
je pense qu'il faudrait diviser la fenetre pop up en deux partie avec une première fixe au dessus dans lequel s'afficherait le message, puis une seconde en dessous qui contiendrait les photos et se rafraichierais toutes les 5 secondes,
 
mais je ne sais pas trop comment m'y prendre.
 
avez vous des solutions pour remedier a on probleme?
 
merci d'avnce
 
ps: voici le script de ma fenetre pop up :
 
// On écrit le contenu de la fenêtre popup
wPopup.document.clear();
wPopup.document.write("<HTML><HEAD><TITLE>Slideshow : "+(num+1)+"/"+nb_img+"</TITLE></HEAD>" );
 
// La fonction qui attend que l'image soit chargée et affichée pour redimensionner la fenêtre à la bonne taille
wPopup.document.write('<script language="JavaScript">\nfunction checkSize() { if(document.images[0].complete) { w = document.images[0].width+1000; h = document.images[0].height+1000; window.resizeTo(w, h); window.moveTo((screen.width-w)/2, (screen.height-h)/2); document.images[0].style.visibility = "visible"; window.focus(); } else { setTimeout("checkSize()", 250); } }\n</'+'SCRIPT>');
 
wPopup.document.write('<BODY bgcolor="#000000" leftMargin="0" topMargin="0" marginWidth="0" marginHeight="0">');
 
wPopup.document.write('<table width="100%" height="100%" align="center" cellpadding="0" cellspacing="0"><tr><td valign="top"><center><font color="#FFFFFF"><h1><marquee style="color: rgb(255,255,255); font-family: Arial; font-size: 14pt" border="0" width="800" height="22">'+window.document.settings.comment.value+'</marquee> </h1></font></center></td></tr><tr valign="middle"><td align="center"><img src="'+next_img.src+'" border="0" onLoad="checkSize()" onClick="window.opener.stop()" style="visibility:hidden"></td></tr></table>');
 
wPopup.document.write('</BODY></HTML>');
 
wPopup.document.close();
 
num++;

Reply

Marsh Posté le 24-04-2006 à 20:03:52   

Reply

Marsh Posté le 24-04-2006 à 20:09:54    

Reply

Marsh Posté le 25-04-2006 à 19:32:35    

qude a écrit :

bonjour a tous,
 
je suis en train de créer un diaporama en javascript ou l'utilisateur rentre certains parametres avant de lancer le diaporama qui s'ouvre lui meme dans une fenetre pop up.
 
Dans l'un de ces parametres, l'utilisateur a l'opportunité de rentrer un message dans un bandeau defilant de type <marquee ....></marquee> qui s'affiche au dessus de la fenetre pop up
 
toutefois, etant donné que la fenetre pop up se rafraichie toutes les 5 secondes (lors du changement de photo), ce message se refraichi egalement, et par consequent repars du debut, chose que je ne sopuhaite pas.
 
je pense qu'il faudrait diviser la fenetre pop up en deux partie avec une première fixe au dessus dans lequel s'afficherait le message, puis une seconde en dessous qui contiendrait les photos et se rafraichierais toutes les 5 secondes,
 
mais je ne sais pas trop comment m'y prendre.
 
avez vous des solutions pour remedier a on probleme?
 
merci d'avnce
 
ps: voici le script de ma fenetre pop up :
 
// On écrit le contenu de la fenêtre popup
wPopup.document.clear();
wPopup.document.write("<HTML><HEAD><TITLE>Slideshow : "+(num+1)+"/"+nb_img+"</TITLE></HEAD>" );
 
// La fonction qui attend que l'image soit chargée et affichée pour redimensionner la fenêtre à la bonne taille
wPopup.document.write('<script language="JavaScript">\nfunction checkSize() { if(document.images[0].complete) { w = document.images[0].width+1000; h = document.images[0].height+1000; window.resizeTo(w, h); window.moveTo((screen.width-w)/2, (screen.height-h)/2); document.images[0].style.visibility = "visible"; window.focus(); } else { setTimeout("checkSize()", 250); } }\n</'+'SCRIPT>');
 
wPopup.document.write('<BODY bgcolor="#000000" leftMargin="0" topMargin="0" marginWidth="0" marginHeight="0">');
 
wPopup.document.write('<table width="100%" height="100%" align="center" cellpadding="0" cellspacing="0"><tr><td valign="top"><center><font color="#FFFFFF"><h1><marquee style="color: rgb(255,255,255); font-family: Arial; font-size: 14pt" border="0" width="800" height="22">'+window.document.settings.comment.value+'</marquee> </h1></font></center></td></tr><tr valign="middle"><td align="center"><img src="'+next_img.src+'" border="0" onLoad="checkSize()" onClick="window.opener.stop()" style="visibility:hidden"></td></tr></table>');
 
wPopup.document.write('</BODY></HTML>');
 
wPopup.document.close();
 
num++;


[:natas]

Reply

Marsh Posté le 25-04-2006 à 20:01:47    


 
Sympa ce nouveau smillie...je le prend  :love:  
Surtout que c'est à la mode, ces derniers temps de voir du code, bien sale..

Reply

Marsh Posté le 25-04-2006 à 21:22:23    

mais je vous em.. moi ;-)

Reply

Marsh Posté le 25-04-2006 à 21:37:55    

qude a écrit :

mais je vous em.. moi ;-)


 
Si un modo passe, tu vas avoir des vacances gratos toi ;)

Reply

Marsh Posté le 25-04-2006 à 22:37:57    

koi j'ai rien dis, toutefois je trouve ton smyle tres peu sympathique,
si ton but c'est de casser tout le monde au lieu d'aider, je pense pas que ta place soit sur un forum mon ptit gars

Reply

Marsh Posté le 25-04-2006 à 23:02:37    

Bon mec tu vas lire la charte, et tu verras qu'on est pas là pour corriger du code pourri, pompé on ne sait où...
 
On est ici, pour discuter programmation, pas rafistolage, et on est pas là pour faire le boulot à ta place.
 
Voilà bonne continuation :D

Reply

Marsh Posté le 26-04-2006 à 18:55:01    

je t'oblige pas a corriger mon code tu fais bien ce quetu veux
tout ce que je constate c'est que j'ai eu la chance de rencontrer des gens plus sympathiques que toi (heureusement), qui m'ont bien aidé (et oui a pas que des gens comme toi alors arrete de dire "on" )

Reply

Marsh Posté le 26-04-2006 à 19:20:03    

[:jean-guitou]

Reply

Marsh Posté le 26-04-2006 à 19:20:03   

Reply

Marsh Posté le 26-04-2006 à 19:45:22    

bon, je t'ai donné des liens, tu les as lus?

Reply

Marsh Posté le 27-04-2006 à 18:31:43    

uè mais je me suis rendu compte qu'en fait c'etait pas possible avec les frames car c'est toute la fenetre qui se rafraichie, et je vois pas d'autres solutions

Reply

Marsh Posté le 27-04-2006 à 18:37:02    

Si tu mets de frames je vois pas pourquoi tout se rechargerer...
 
Regarde bien sur quel partie le script recharge et joue avec

Reply

Marsh Posté le 27-04-2006 à 21:25:32    

ben en fait voici le script (nettoyé!) de la page pop up qui s'ouvre:
on remarque que la première ligne rafraichie la fenetre a chaque lecture
moi je voudrais que ça rafraichisse juste les images (j'ai pas fais les frames)
 

Citation :

// On écrit le contenu de la fenêtre popup
 wPopup.document.clear();
 wPopup.document.write("<html><head><title>diaporama</title></head>" );
 // La fonction qui attend que l'image soit chargée et affichée pour redimensionner la fenêtre à la bonne taille
 wPopup.document.write('<script language="javascript" type="text/javascript">');
 wPopup.document.write('function checkSize() {');
 wPopup.document.write('if(document.images[0].complete) {');
 wPopup.document.write(' w = document.images[0].width+1000; h = document.images[0].height+1000; window.resizeTo(w,h); window.moveTo((screen.width-w)/2, (screen.height-h)/2); document.images[0].style.visibility = "visible"; window.focus(); }')
 wPopup.document.write('else {');
 wPopup.document.write('setTimeout("checkSize()", 250); } } </script>');
 wPopup.document.write('<body bgcolor="#000000" leftMargin="0" topMargin="0" marginWidth="0" marginHeight="0">');
 wPopup.document.write('<table width="100%" height="100%" align="center" cellpadding="0" cellspacing="0">');
 wPopup.document.write('<tr>');
 wPopup.document.write('<td  valign="top">');
 wPopup.document.write('<center><font color="#FFFFFF"><h1><marquee style="color: rgb(255,255,255); font-family: Arial; font-size: 14pt" border="0" width="1152" height="22">'+window.document.settings.comment.value+'</marquee>      </h1></font></center>');
 wPopup.document.write('</td>');
 wPopup.document.write('</tr>');
 wPopup.document.write('<tr valign="middle">');
 wPopup.document.write('<td align="center">');
 wPopup.document.write('<img src="'+next_img.src+'" border="0" width="'+next_img.w+'" height="'+next_img.h+'" onLoad="checkSize()" onClick="window.opener.stop()" style="visibility:hidden">');
 wPopup.document.write('</td>');
 wPopup.document.write('</tr>');
 wPopup.document.write('</table>');
 wPopup.document.write('</body></html>');
 wPopup.document.close();
 num++;


Reply

Marsh Posté le 28-04-2006 à 08:34:21    

ok, alors pourquoi on a trouvé que ton code est crade: notamment parceque tu utilise document.write(). C'est difficile à lire d'une part, mais plus grave, les moteurs de recherche ne tiennent pas compte du javascript. Ta fenêtre popup ne sera pas référencée sur les moteurs de recherche. Ceci dit, c'est peut être ce que tu cherche.
 
ensuite, pour ton problème, mets le code de ton popup dans une page à part, par exemple <<contenupopup.html>>, et garde tel quel le rafraîchissement, prends éventuellement en paramètres get le nom de la /des photo(s): contenupopup.html?photo.jpg
en js: document.location.query.substr(1) -> donne ``photo.jpg``
 
Puis fait une page <<popup.html>> avec dedans le titre que tu désire, et un frameset pointant vers <<contenupopup.html>>

Reply

Marsh Posté le 28-04-2006 à 18:34:05    

oké, mais je dois faire des frames du coup alors non?

Reply

Marsh Posté le 28-04-2006 à 18:51:33    

+1
 
C'est ce qu'on t'a dis ici
 
http://forum.hardware.fr/hardwaref [...] m#t1353059

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed