Bonjour à tous,
J'ai effectué une longue recherche avant de solliciter votre aide sur ce forum. J'ai notamment consulté le tutoriel d'Alsacreations "Java Script : organiser son code en modules" sans parvenir, par manque de connaissance en Java Script, à résoudre mon problème.
Le voici donc : je ne parviens pas à faire cohabiter deux scripts dans une même pages xhtml. Un de ces scripts génère une galerie photo, sur la base du code fournit dans un des tutoriels d'Alsacreations. Le second gère un changement du CSS (me permettant notamment de changer la couleur du background).
Sans aucun doute, mon intégration des scripts est mauvaise. Je n'ai aucune connaissance en Java Script, je compte m'y mettre sous peu, lorsque j'aurais suffisamment approfondi le xhtml et css.
En attendant, j'ai besoin de votre aide pour identifier mes erreurs. Indépendamment, ces deux scripts fonctionnent parfaitement. Il semble qu'il y ait un problème d'interaction ?
Mon head html :
Le script de la galerie (script.js):
Le script du changement de CSS (styleswitcher.js) :
Merci pour votre aide.
Robin[/i][/i][/i][/i][/i]
Modifié par Meego (19 Jul 2008 - 12:16)
J'ai effectué une longue recherche avant de solliciter votre aide sur ce forum. J'ai notamment consulté le tutoriel d'Alsacreations "Java Script : organiser son code en modules" sans parvenir, par manque de connaissance en Java Script, à résoudre mon problème.
Le voici donc : je ne parviens pas à faire cohabiter deux scripts dans une même pages xhtml. Un de ces scripts génère une galerie photo, sur la base du code fournit dans un des tutoriels d'Alsacreations. Le second gère un changement du CSS (me permettant notamment de changer la couleur du background).
Sans aucun doute, mon intégration des scripts est mauvaise. Je n'ai aucune connaissance en Java Script, je compte m'y mettre sous peu, lorsque j'aurais suffisamment approfondi le xhtml et css.
En attendant, j'ai besoin de votre aide pour identifier mes erreurs. Indépendamment, ces deux scripts fonctionnent parfaitement. Il semble qu'il y ait un problème d'interaction ?
Mon head html :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="styleswitcher.js"></script>
<title>TITRE</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="design" href="design.css" />
<link rel="alternate stylesheet" type="text/css" title="design2" href="design2.css">
</head>
Le script de la galerie (script.js):
function displayPics()
{
var photos = document.getElementById('galerie_mini') ;
var liens = photos.getElementsByTagName('a') ;
var big_photo = document.getElementById('big_pict') ;
for (var i = 0 ; i < liens.length ; ++i) {
liens[i].onclick = function() {
big_photo.src = this.href;
big_photo.alt = this.title;
return false;
};
}
}
window.onload = displayPics;
Le script du changement de CSS (styleswitcher.js) :
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);
Merci pour votre aide.
Robin[/i][/i][/i][/i][/i]
Modifié par Meego (19 Jul 2008 - 12:16)