

new!








|
|
|
 |
| > 2 javascripts "incompatibles" ? |
[ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-03-2008 à 11:17 | 6 messages ]
  bonjour à tous...
je viens de m'inscrire sur ce forum, qui a l'air assez actif ma foi !
je suis loin d'être pro avec le javascript, mais bon, je m'en sors toujours à peu près...
Mais là, et après plusieurs heures de recherche infructueuses, je bloque...
Quelqu'un peut-il m'aider, par exemple en découvrant ce qui fait que mes deux scripts ne fonctionnent pas ensemble (j'ai essayé de repérer des VAR identiques, des "body on load" s'interéférant... je vois rien, snif.)
[b]voici le premier script : il fait tomber de la neige :[/b]
<!-- START TSSNOW -->
<script type="text/javascript">
var snowmax=60;
var snowcolor=new Array("#aaaacc","#ddddff","#ccccdd","#f3f3f3","#f0ffff");
var snowtype=new Array("Verdana","Arial Narrow","Times","Comic Sans MS");
var snowletter="*";
var sinkspeed=0.6;
var snowmaxsize=22;
var snowminsize=8;
var snowingzone=1;
var snow=new Array();
var marginbottom;
var marginright;
var timer;
var i_snow=0;
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent;
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/);
var ns6=document.getElementById&&!document.all;
var opera=browserinfos.match(/Opera/);
var browserok=ie5||ns6||opera;
function randommaker(range) { rand=Math.floor(range*Math.random()); return rand;}
function initsnow() { if (ie5 || opera) { marginbottom = document.body.clientHeight; marginright = document.body.clientWidth; } else if (ns6) { marginbottom = document.body.clientHeight; marginright = window.innerWidth; }
var snowsizerange=snowmaxsize-snowminsize;
for (i=0;i<=snowmax;i++) { crds[i] = 0; lftrght[i] = Math.random()*35; x_mv[i] = 0.13 + Math.random()/10; snow[i]=document.getElementById("s"+i); snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]; snow[i].size=randommaker(snowsizerange)+snowminsize;
snow[i].style.fontSize=snow[i].size+"px";
snow[i].style.color=snowcolor[randommaker(snowcolor.length)];
snow[i].sink=sinkspeed*snow[i].size/5;
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2;}
snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size);
snow[i].style.left=snow[i].posx +"px";
snow[i].style.top=snow[i].posy +"px"; } movesnow();}
function movesnow() { for (i=0;i<=snowmax;i++) { crds[i] += x_mv[i]; snow[i].posy+=snow[i].sink; snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]) +"px";
snow[i].style.top=snow[i].posy +"px";
if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
snow[i].posy=0; } }
var timer=setTimeout("movesnow()",50);}for (i=0;i<=snowmax;i++) { document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>");}
if (browserok) { window.onload=initsnow;}
</script>
<!-- END TSSNOW -->
[b]voici le second script : c'est un diaporama avec fondu enchainé[/b]
(nb : je le fait très bien fonctionner, dans une page "sans neige"...) :
<script>
var slideShowSpeed = 5000
var crossFadeDuration = 3
var Pic = new Array()
Pic[0] = '1d.jpg'
Pic[1] = '2d.jpg'
Pic[2] = '3d.jpg'
Pic[3] = '4d.jpg'
Pic[4] = '5d.jpg'
Pic[5] = '6d.jpg'
var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans(duration=2)"
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply()
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed)
}
</script>
Voilà, ensuite, je pose ma balise
<body onload="runSlideShow()">
et mon diaporama sur ma page...
Mais mon diaporama ne fonctionne pas !!
Ce qui m'ennuie vraiment, c'est qu'il fonctionne avec un autre script faisant tomber de la neige, mais ce dernier est nettement moins joli !
Voilà, si quelqu'un peut avoir la gentillesse de m'aider, merci d'avance !
[i][Message édité par zedric le 30-03-2008 à 11:19][/i]
[i][Message édité par zedric le 30-03-2008 à 11:21][/i]
 
|
|
|
[ Posté par rf92 ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-03-2008 à 12:17 | 649 messages ]
  bonjour,
tout clair le premier script. 
tu crées ton 2ème script avec :
Tu pourrais le remplacer par :| <script type="text/javascript"> |
|
tu n'aurais pas des variables communes en plus, par hasard ?
a+
________________ rf92
A Begwalewe, près de Serule au Botswana, Galetwaselwe Mossi a volé une vache à Sir Seretse Khama. On vous fait grâce du nom de la vache.
Pierre Desproges
| [ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-03-2008 à 12:40 | 6 messages ]
 
rf92 a dit
bonjour,
tout clair le premier script. 
tu crées ton 2ème script avec :
Tu pourrais le remplacer par :| <script type="text/javascript"> |
|
tu n'aurais pas des variables communes en plus, par hasard ?
a+ |
|
Salut rf92,
désolé de te "citer"... je trouve pas le simple "répondre"...
Bref, ben non, remplacer "script" par ""script type="text/javascript""
ne fait pas mieux fonctionner le schmilblick... quand aux var communes, je lis et relis les scripts sans rien trouver de tel. Bouh ouh.
Merci quand même !
A+
| [ Posté par rf92 ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-03-2008 à 16:34 | 649 messages ]
  re,
quel(s) message(s) d'erreur as-tu ?
________________ rf92
A Begwalewe, près de Serule au Botswana, Galetwaselwe Mossi a volé une vache à Sir Seretse Khama. On vous fait grâce du nom de la vache.
Pierre Desproges
| [ Posté par #:-{)% ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 29-03-2008 à 19:43 | 2380 messages ]
  Alut
le blème vient des onload : il y a 1 window.onload ds le 1° et onload ds la balise body
en + le window.onload est ds 1 condition
supprimes le " if (browserok) { window.onload=initsnow;} "
et rajoutes ds la balise body : onload="runSlideShow();if (browserok) initsnow();"
Atchao
________________ Oubli du BBcode, rééditer!
barbe-sauvage ex Mozopiens devenu renard de feu... et un peu konq sur les bords
Les OG et les DR, je M pas :/
| [ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2008 à 11:29 | 6 messages ]
  Salut #:-{)%
merci de ta proposition !
Heu, j'en suis désolé mais en faisant ce que tu me dis, c'est la neige qui ne "fonctionne" plus. Par contre, le diaporama, lui, "fonctionne". (si ça peux te donner un indice au cas où tu souhaiterais te creuser la cervelle davantage...)
PS : voici ce qui me permet d'afficher le diaporama, au fait (inséré après mon body) :
<img src="1d.jpg" name='SlideShow' />
PS bis : j'ai édité mon 1er message pour rendre mon script plus lisible. Je savais pas trop quand passer à la ligne, apparemment ça a pas trop d'incidence sur le code puisque ça fonctionne chez moi.
PS ter : je n'ai aucun message d'erreur, juste l'un de mes effets ne marche pas... !
Voilà, merci quand même, et n'hésitez pas à me proposer d'autre trucs !
A+
| [ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2008 à 11:38 | 6 messages ]
  YOP !
j'ai trouvé...!
merci de m'avoir mis sur la voie !
en fait j'ai fait ça :
<body onload="runSlideShow();initsnow();" >
(j'ai donc supprimé le if browesrok)
et ça marche...
je suis content merci à vous et sans doute à une prochaine fois vu mes déboires en java ! (que j'ai toujours réussi à faire fonctionner cependant).
Bon dimanche à vous !
PS pour les curieux : je pose ma page sur le web dans un instant, et je vous file le lien si vous voulez aller voir ce que ça donne.
| [ Posté par dgse ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2008 à 11:44 | 269 messages ]
  Bonjour
L'astuce de #:-{)% fonctionne chez moi sous IE et FF sans probléme
@+dgse
________________ Je ne tiens pas a etre un genie. J'ai suffisamment de probleme a etre un homme.
| [ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2008 à 11:48 | 6 messages ]
  voilà, pour les curieux :
comme mon site est en jeux de cadres et pop-ups, il faut aller à l'accueil :
http://cie-daruma.com
puis cliquez sur :
spectacles
puis cliquez sur :
la légende oubliée
puis cliquez sur :
en savoir plus
et là une pop up s'ouvrira, avec les 2 effets (neige + diaporama (l'image montrant les ombres chinoises, entre la crèche et les marionnettes)).
Bonne visite !
| [ Posté par zedric ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 30-03-2008 à 11:56 | 6 messages ]
  Oups, au temps pour moi, dgse; tu as raison, son astuce fonctionne ! (j'ai du virer un symbole sans faire gaffe !)
du coups je viens de poser la page avec le if browserok, au kazou...
A+ et merci encore !
|
|
Services email :
  Vous devez vous identifier pour profiter des services par email du forum.
|

|