|
|
|
|
Bonjour,
J'ai utiltisé le debug console pour essayer mon javascript qui ne marche pas mais je ne sais pas comment reparer et qoi reparer:
function addListener(o, e, f) {
if (o.addEventListener) {
o.addEventListener(e, f, false);
} else {
o.attachEvent('on' + e, f);
}
}
function changeClass1() {
document.getElementById('content').className='slidedone';
document.getElementById('footer').className='slidedone';
document.getElementById('list').className='slidedone';
}
function changeClass2() {
document.getElementById('content').className='slidedone2';
document.getElementById('footer').className='slidedone2';
document.getElementById('list').className='slidedone2';
}
function bindAnchors() {
var collection1 = document.getElementById('topmenu').getElementsByTagName('a');
var collection2 = document.getElementById('content').getElementsByTagName('a');
var collection3 = document.getElementById('toprightmenu').getElementsByTagName('a');
var collection4 = document.getElementById('toprightbutton').getElementsByTagName('a');
for (var i = 0; i <= collection1.length - 1; i++) {
var lien = collection1.item(i);
addListener(lien, 'click', changeClass2);
}
for (var i = 0; i <= collection2.length - 1; i++) {
var lien = collection2.item(i);
addListener(lien, 'click', changeClass1);
}
for (var i = 0; i <= collection3.length - 1; i++) {
var lien = collection3.item(i);
addListener(lien, 'click', changeClass1);
}
for (var i = 0; i <= collection4.length - 1; i++) {
var lien = collection4.item(i);
addListener(lien, 'click', changeClass1);
}
}
addListener(window, 'load', bindAnchors);
Configuration: Windows XP Safari 525.21
Salut,
|
Mon fichier est du xhtml 1.0 strict valide.
|
Bonsoir
var collection1 = document.getElementById('topmenu').getElementsByTagName('a');
var collection2 = document.getElementById('content').getElementsByTagName('a');
var collection3 = document.getElementById('toprightmenu').getElementsByTagName('a');
var collection4 = document.getElementById('toprightbutton').getElementsByTagName('a');
|
Désolé, je viens de voir qu'en fait ils sont revenus quand j'ai collé dans le forum ! pas au même endroit d'ailleurs
|
Salut! merci pour la solution (partielle). Voici mon code propre:
function slide()
{
function addListener(o, e, f)
{
if (o.addEventListener)
{
o.addEventListener(e, f, false);
}
else
{
o.attachEvent("on" + e, f);
}
}
function changeClass1()
{
document.getElementById("content").className = "slidedone";
document.getElementById("footer").className = "slidedone";
document.getElementById("list").className = "slidedone";
}
function changeClass2()
{
document.getElementById("content").className = "slidedone2";
document.getElementById("footer").className = "slidedone2";
document.getElementById("list").className = "slidedone2";
}
function bindAnchors()
{
var collection1 = document.getElementById("topmenu").getElementsByTagName("a");
var collection2 = document.getElementById("content").getElementsByTagName("a");
var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a");
var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a");
for (i = 0; i <= collection1.length - 1; ++i)
{
var lien = collection1.item(i);
addListener(lien, "click", changeClass2);
}
for (i = 0; i <= collection2.length - 1; ++i)
{
var lien = collection2.item(i);
addListener(lien, "click", changeClass1);
}
for (i = 0; i <= collection3.length - 1; ++i)
{
var lien = collection3.item(i);
addListener(lien, "click", changeClass1);
}
for (i = 0; i <= collection4.length - 1; ++i)
{
var lien = collection4.item(i);
addListener(lien, "click", changeClass1);
}
}
addListener(window, "load", bindAnchors);
Il y a encore une erreur mais cette fois ca viens d'une balise non terminée. Il manque un } Je ne sais pas ou le placer :p. Il donne lerreur sur la dernierre ligne c-a-d: addlistener(window... Merci pour toute votre aide. |
C'est bon j'ai resolu le probleme:
function addListener(o, e, f)
{
if (o.addEventListener)
{
o.addEventListener(e, f, false);
}
else
{
o.attachEvent("on" + e, f);
}
}
function changeClass1()
{
document.getElementById("content").className = "slidedone";
document.getElementById("footer").className = "slidedone";
document.getElementById("list").className = "slidedone";
}
function changeClass2()
{
document.getElementById("content").className = "slidedone2";
document.getElementById("footer").className = "slidedone2";
document.getElementById("list").className = "slidedone2";
}
function bindAnchors()
{
try {
var collection1 = document.getElementById("topmenu").getElementsByTagName("a");
for (i = 0; i <= collection1.length - 1; ++i) {
var lien = collection1.item(i);
addListener(lien, "click", changeClass2);
}
} catch(e) { }try {
var collection2 = document.getElementById("content").getElementsByTagName("a");
for (i = 0; i <= collection2.length - 1; ++i) {
var lien = collection2.item(i);
addListener(lien, "click", changeClass1);
}
} catch(e) { }try {
var collection3 = document.getElementById("toprightmenu").getElementsByTagName("a");
for (i = 0; i <= collection3.length - 1; ++i) {
var lien = collection3.item(i);
addListener(lien, "click", changeClass1);
}
} catch(e) { }try {
var collection4 = document.getElementById("toprightbutton").getElementsByTagName("a");
for (i = 0; i <= collection4.length - 1; ++i) {
var lien = collection4.item(i);
addListener(lien, "click", changeClass1);
}
} catch(e) { }}
addListener(window, "load", bindAnchors);
pour le resultat: http://m.iwebkit.net allez voir sur safari. ca marchera pas sinon. C'est l'effet de transition ente pages quand on clique sur un lien merci pour tout les aides! |
Pour résumer, il a utilisé des blocs "essai/erreur" (try/catch), ainsi si une erreur se produit dans un bloc try, il passe directement au bloc catch associé où il indique au programme de ne rien faire... et il continue son bout de chemin juste après le catch... Je ne dis pas que c'est super propre d'attraper des erreurs si générales et de laisser un bloc catch vide mais bravo ! ;-) |