script incompatible ?

Eléphanteau du PHP | 14 Messages

28 mai 2006, 10:48

bonjour à tous,
pour mon site web j’ai une page avec 2 javascript mais il ne marche pas ensemble je pense qu’il des fonctions ou des variables qui vont pas ensemble. Pouvez vous me dire ce qui cloche dans ces 2 scripts car mes maigre connaissance en javascript ne me permette pas de la faire moi même :cry:
(je précise que les deux fonctionnent bien si j’enleve l’un ou l’autre de ma page).

1er script :

Code : Tout sélectionner

function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { a.disabled = true; if(a.getAttribute("title") == title) a.disabled = false; } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); } return null; } function getPreferredStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")[i]); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") ) return a.getAttribute("title"); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } window.onload = function(e) { var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } window.onunload = function(e) { var title = getActiveStyleSheet(); createCookie("style", title, 365); } var cookie = readCookie("style"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title);

2em script :

Code : Tout sélectionner

var photos = document.getElementById('galerie_mini') ; var liens = photos.getElementsByTagName('a') ; var big_photo = document.getElementById('big_pict') ; var titre_photo = document.getElementById('photo').getElementsByTagName('dt')[0] ; for(var i = 0 ; i < liens.length ; i++) { liens[i].onclick = function() { big_photo.src = this.href ; big_photo.alt = this.title ; titre_photo.firstChild.nodeValue = this.title ; return false ; } } } window.onload = displayPics ;
PS : le 1ere script sert à changer de de feuille de style et le 2eme est une gallerie photo.
merci.

Eléphant du PHP | 493 Messages

28 mai 2006, 20:00

Euh ... Est-ce que ton 2eme script fonctionne tout seul ? Car il y a un } en trop à la fin ...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

28 mai 2006, 20:29

Normalement il ne devrait pas y avoir de problème (j'attends quand même de voir le code complet vu qu'effectivement il doit manquer le début du script 2), le soucis pouvant provenir de la variable i qui est manipulé dans les différentes fonctions, mais le "var" le déclare explicitement comme local...

En attendant tu peux toujours essayer de les remplacer dans ton script 2 par une autre variable ("j" ?) dès fois qu'il se mélange les pinceaux avec les for des autres fonctions...

Eléphanteau du PHP | 14 Messages

29 mai 2006, 15:10

:oops: voilà le début du script 2:

Code : Tout sélectionner

function displayPics() {
j'avais déja fait le test en changer i en j mais ça na rien donné.
par contre j'ai un autre script dans la page (hier je n'en ai pas parler car ça marché et aujourd'hui non, je pense que mon navigateur était pas trés à force de tester :!: ) :

Code : Tout sélectionner

<!-- function StartTicker() { document.NewsTicker.Zeile.value = "Bitte nutzen Sie einen aktuelleren Browser." } var tickernews = [ {meldung:"Mon texte 1", starteffekt:1, endeeffekt:1}, {meldung:"Mon texte 2", starteffekt:1, endeeffekt:2}, {meldung:"Mon texte 3", starteffekt:1, endeeffekt:1}, ] var ticker_start = 500 var ticker_effekt1_start_a = 75 var ticker_effekt1_start_b = 2500 var ticker_effekt2_start_max_blink = 3 var ticker_effekt2_start_a = 100 var ticker_effekt2_start_b = 2500 var ticker_effekt1_ende_a = 50 var ticker_effekt1_ende_b = 100 var ticker_effekt2_ende_max_blink = 3 var ticker_effekt2_ende_a = 100 var ticker_effekt2_ende_b = 1000 var msgnr = 0 function nextTicker() { msgnr++ if(msgnr >= tickernews.length) msgnr = 0 setTimeout("showTicker(0)", 1000) } function hideTicker(cnt) { switch(tickernews[msgnr].endeeffekt) { case 2: document.NewsTicker.Zeile.value = ((cnt % 2) == 1) ? tickernews[msgnr].meldung : "" if(cnt > (2 * ticker_effekt2_ende_max_blink + 1)) setTimeout("nextTicker(0)", ticker_effekt2_ende_b) else setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt2_ende_a) break default: document.NewsTicker.Zeile.value = tickernews[msgnr].meldung.substring(cnt, tickernews[msgnr].meldung.length) if(cnt >= tickernews[msgnr].meldung.length) setTimeout("nextTicker()", ticker_effekt1_ende_b) else setTimeout("hideTicker(" + String(cnt + 1) + ")", ticker_effekt1_ende_a) } } function showTicker(cnt) { switch(tickernews[msgnr].starteffekt) { case 2: document.NewsTicker.Zeile.value = ((cnt % 2) == 1) ? "" : tickernews[msgnr].meldung if(cnt > (2 * ticker_effekt2_start_max_blink + 1)) setTimeout("hideTicker(0)", ticker_effekt2_start_b) else setTimeout("showTicker(" + String(cnt + 1) + ")", ticker_effekt2_start_a) break default: document.NewsTicker.Zeile.value = tickernews[msgnr].meldung.substring(0, cnt) if(cnt >= tickernews[msgnr].meldung.length) setTimeout("hideTicker(0)", ticker_effekt1_start_b) else setTimeout("[code]showTicker
(" + String(cnt + 1) + ")", ticker_effekt1_start_a)
}
}

function StartTicker()
{

document.NewsTicker.Zeile.value = "Loading news..."


setTimeout("showTicker(0)", ticker_start)
}
// -->
[/code]
associé à ceuci:

Code : Tout sélectionner

offMessage = ' ' function boxOn(which,message){ if (document.all||document.getElementById){ which.className='BorderOn' if (document.getElementById) {document.getElementById("Message").innerHTML = message} else {Message.innerHTML = message} } } function boxOff(which){ if (document.all||document.getElementById){ which.className='BorderOff' if (document.getElementById) {document.getElementById("Message").innerHTML = offMessage} else {Message.innerHTML = offMessage} } }
:idea:

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

29 mai 2006, 23:54

Les points virgule en fin de ligne (d'instruction) sont en options en javascript ? :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 19672 Messages

30 mai 2006, 07:19

Les points virgule en fin de ligne (d'instruction) sont en options en javascript ? :-k
Ils sont en effet optionnels, mais c'est une bonne habitude de les mettre systématiquement.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

30 mai 2006, 09:50

entre temps j'ai essaye d'autre script dans le même genre qui font bouger les lettres et j'ai le même symptôme. :?: :!: :cry:
la gallerie d'image fonctionne pas.