Alterner les images de fond

Fermé
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 - 25 mai 2008 à 18:06
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 - 5 juin 2008 à 13:25
Bonjour,


j'aimerai créer plusieurs images de fond par page qui peuvent s'alterner à l'aide d'un bouton clic par exemple.
Je travaille avec php sur dreamweaver.

Si quelqu'un sait déjà si c'est possible et s'il a une proposition, elle est la bienvenue.

Merci +++

Laure

13 réponses

Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
27 mai 2008 à 12:21
En prenant, par exemple, des images de fond en .gif et nommées BG1.gif à BG15.gif, dans un sous dossier "images"


<script language="javascript">
function changeBG(){
  var actual_bg = document.body.background;
  var newBgNum = Math.round(Math.random(0)*15)+1;
  while ( actual_bg == '/images/BG'+newBgNum+'.gif'){
    newBgNum = Math.round(Math.random(0)*15)+1;
  }
  
  document.body.background = '/images/BG'+newBgNum+'.gif';

}
</script>

<a href="#" onclick="changeBG();return false;">Changer l'image de fond</a>



Je l'ai écrit vite fait, sans tester. Il y'a p-e des adaptations à faire.
La boucle While sert à ce qu'il ne remette pas la même image dans un hasard de nombre aléatoire.
1
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
28 mai 2008 à 12:01
ah!
tu m'aiguille! merci beaucoup!
je sens que e commence à comprendre!

Pour ce faire, je vais avoir une page et différentes images dans son petit dossier associé.
Je vais les appeler par exemple pour ma page bam.php (qui contient 5 image) bam1.jpg, bam2.jpg, bam3.jpg, bam4.jpg.

Est ce que le code alors ca donne ca?
Merci de corriger, puisqu'il faudra forcement corriger!
Je me lance, wahouuu :...


<script language="javascript">
function changeBG(){
var actual_bg = document.body.background;
var newBgNum = Math.round(Math.random(0)*5)+1;
while ( actual_bg == '/images/bam'+newbamNum+'.gif'){
newbamNum = Math.round(Math.random(0)*5)+1;
}

document.body.background = '/images/bam'+newbamNum+'.gif';

}
</script>

<a href="#" onclick="changebam();return false;">Changer l'image de fond</a>

à ceci s'ajoute quelques questions : la dernière ligne signifie t'elle qu'en cliquant sur l'image, je procède au changement d'image, ou bien estce que cela peut venir d'un bouton?

autre petite question : est-ce-que gif est mieux que jpg pour une image de fond? (il s'agit pour ma part de vraies photos 560px par 550px, donc assez grande et quand je compresse mes images pour le web en général le gif est plus lourd que le jpeg) qu'en pense tu?

Voilà, merci pour ton / votre aide!

A très vite!
LAure
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
2 juin 2008 à 16:01
L'évenement OnClick d'un lien permet d'exécuter du code lorsqu'on clique sur ce lien.
Ici, le lien appelle la fonction changeBG() définie plus haut (function changeBG(){...}).
le "return false;" permet d'éviter que le navigateur ne gère le clic sur le lien, étant donné que ce n'est pas un lien vers une autre page.
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
25 mai 2008 à 19:21
Tu génères tes pages en PHP avec une image de fond dont l'url est déterminée dysnamiquement à partir d'un tirage aléatoire.

Par exemple si tu as 3 images de fond placées dans le dossier a/b/c et nommées fond1, fond2 et fond3 :

<code>
$i = rand( 1,3 );
...
echo 'img="a/b/c/fond' . $i . '";
...
<code>
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
26 mai 2008 à 19:43
bonsoir!

Merci pour vos réponses.

Mais je ne comprends pas!

Je crois que j'utilise le langage php comme si j'utilisais du html. J'avais just eutilisé php pour pouvoir obtenir un formulaire de contact sur mon site, mais là je ne comprend pas ce que vous m'écrivez.

Est ce que vous avez un exemple de script pour que ca puisse m'éclairer? Je suis allée sur le jardinzen, comme indiqué dans le sposts, mais je ne vois pas le lien en question je pense..

Parce que pour le moment, je me dirige vers cette idée : fair eune page php par image( donc par fond d'écran) donc si 4 images alors image.php +image2.php + image3.php + image 4.php, et c'est fastidieux! Est ce que c'est ce dont vou sme parliez?

Merci beaucoup d'avance pour vos réponses, je sens que vous allez m'etre d'une aide précieuse!

A tres vite
Laure
0
BartWadela Messages postés 557 Date d'inscription samedi 7 juillet 2007 Statut Membre Dernière intervention 3 février 2010 106
25 mai 2008 à 19:34
bonsoir,

bah oui du css, tu fais plusieurs css différents avec un fond d'ecran par fichier et une fonction php qui te bascule d'un css a la'utre. comme sur http://www.csszengarden.com/tr/francais/
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
26 mai 2008 à 21:16
Jusqu'aux différentes feuilles css, j'arrive à suivre (enfin je crois) mais je n'ai aucune idée de ce à quoi peut ressembler cette fameuse fonction php... J'ai regardé le code de jardin zen, mais je ne comprend rien, je décortique, je décortique, mais ca ne m'avanc epas vraiment...

Histoire de balises h1 h2 etc,..
C'est pourtant certainement très simple!

Mais comme je cherche à faires des tas de pages de mon site avec ces fameuses images de fond changeantes j'aimerais vraiment prendre le temps de comprendre.

Bonne âme pédagogue qui s'y connait bienvenue!
please please please :)


merci beaucoup d'avance

Laure
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
27 mai 2008 à 08:25
Tu disposes de deux css css1.css avec la première image de fond et css2.css pour la seconde

Dans le script php générant tes pages :
if( rand(1,2) == 1 )
   echo '<link rel="stylesheet" type="text/css" href="css1.css" />';
else
   echo '<link rel="stylesheet" type="text/css" href="css2.css" />';
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
27 mai 2008 à 11:51
Très bien , merci, je vais faire des test rapidement, je te recontacterai je pense de toutes les manières, mais je pense que je commence à comprendre,

A très vite

Laure
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
27 mai 2008 à 11:59
en général pour chaque sujet, j'ai plusieurs images (de 5 à 15 grand maximum), est ce que dans ce cas, le fait de travailler en css est plus intellignet que de faire une page générale et des calques que je travaille avec la fonction cacher/montrer les calques, ou encore le fait de créer une nouvelle page à chaque nouvelle image (image1.php, puis image2.php, etc...

J'aimerais avoir un avis.
Et si ce sont les css qui sont les plus adaptés, alors ill me faudra trouver une bonne âme qui accepte de me donner un petit cours avec la patience en plus, mais l'élève concentré et désireux d'apprendre !

Merci à tous!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
27 mai 2008 à 13:31
Il y a plusieurs techniques possibles. Compte tenu du nombre d'images différentes :

1.la solution Javascript est utilisable mais ne donnera rien pour tes clients qui bloquent Javascript

2. la solution que j'esquissais ce matin (un css par image de fond) ne présente pas cette limite et c'est celle que j'adopterais personnellement en la modifiant un peu en insérant la css de fond dans la page elle-même générée en PHP (au lieu d'un fichier externe).

Cette solution présente également l'avantage de permettre un ajustement fin du fond avec toutes les propriétés CSS disponibles qui devraient être mieux traitées par les navigateurs.
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
27 mai 2008 à 13:36
Mais avec le désavantage de devoir recharger toute la page "juste" pour changer l'image de fond. En fonction du contenu du site, ca peut être moins avantageux.
Et pour les utilisateurs dont le JS est désactivé, on ne peut pas dire qu'ils perdent une grande fonctionnalité, et ne sont pas nombreux.

Et toutes les propriétés CSS sont ajustables en javascript. Mais forcément ca demande un développement plus poussé que ma petite fonction.
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
27 mai 2008 à 13:38
C'est exact : à pbimprimante de faire son choix !
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
28 mai 2008 à 12:11
Alors, pour être sincère, je pense que je comprendrai mieux la solution des images de fond, rangées dans un sous-dossier de image1.jpg à imageX.jpg que je peux alterner avec le code que Xil m'a proposé et que j'ai essayé de recopier (sûrement avec des fautes pour le moment).

Mais : interrogation : c'est celui-ci qui fait recharger la page entière? Non ce sont les css?.. Je suis un peu perdue.
enfin.

Je commence à trouver une solution à ma requête, elle s'affine et va beaucoup m'aider pour la suite (je vous montrerai le résultat si vous voulez!)

Ce que je vais faire, c'est faire un test sur une page type, je vais vous donner le lien, comme ça vous aurez le code, et vous pourrez me dire ce qui cloche ou si bingo(!) c'est okay..

Si vous voulez bien prendre ce temps, ça serait super chouette!

Bon je m'y mets, et je poste à nouveau un message sur cette page du forum.
A très vite!
Laure

PS : appelez moi Laure, parce que pbimprimante c'est pas top! (je pensais pas que j'utiliserai ce site ensuite, et finalement c'est vraiment helpfull! vive les sites communaitaires, pour ma part j'ai filé mon bouquin de dreamweaver à un ami qui démarre, chacun aide à sa manière :) A tout'
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
28 mai 2008 à 12:33
http://www.lauremanach.net/menu2/10joursapekin.php <<< voici le lien sur lequel j'ai testé le conseil de Xil.
Mais, misère, ça ne fonctionne pas!
Je vais essayer de comprendre par moi-même, mais je vais avoir besoin de votre aide, c'est sûr!

Je pense avoir fait une erreur : comme parfois dans ton texte Xil, il y a background écrit bg ou BG, j'ai peut-être supprimer des actions sans le faire exprès.
Je m'explique : tu as appelé tes deux images BG.gif et BG1.gif
et comme parfois dans le script il y a bg (donc en minuscule), je pense que c'est peut-être là que j'ai gaffé...
Mais je n'en sais trop rien à vrai dire, et comme je ne fais jamais de code, mais que j'arrive en général à peu près à le lire, j'ai pensé que l'erreur pourrait être là. Qu'en dites vous, vous qui savez faire du code..

Une petite question cependant : j'ai compris que "while" est une fonction qui permettait d'éviter de recharger une image déjà passée, ça c'est très bien. Mais mes images ou quand même un ordre de passage bien particulier, est-ce-que le code là propose des images en aléatoire ou c'est dans un ordre partant de 1 jusqu'à X (ici 12). Parce que c'est ça qu'il me faut (sinon le visiteur ne comprendra pas la chronologie du projet (ça serait bien dommage...).

Voilà,

merci d'avance.
Je vais essayer de comprendre encore, le temps que vous me répondiez. Pour aussi avancer toute seule, pour évoluer!

A très vite

Laure
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
28 mai 2008 à 13:04
Bon, ça ne marche pas du tout, je ne comprends pas pourquoi, je préfère attendre vos conseils avant de transformer ce code en une espèce de chose incompréhensible et irrécupérable. Je veux pas faire de bêtises quoi..

Prenez votre temps, de toute manière, j'ai du boulot à faire en attendant!
Mais je suis contente parce que grâce à vous j'approche au but!
Merci beaucoup ;)

A tout'
Laure
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
30 mai 2008 à 19:50
Bonjour à tous, j'ai posé une question sur cette idée de changer mes images de fond d'une même page web à partir d'un clic sur un bouton (par exemple).

Je suis un peu décue car deux personnes m'on répondu puis ... ont disparues!
Je ne suis pas forte en php, puisque je débute à peine, mais j'ai tenté de comprendre le code qui m'a été proposé.. Sans résultat.

Si quelqu'un veut bien m'aider, je suis volontaire et motivée pour apprendre.
Et je pense que le forum et se smembres sont aussi là pour m'aider...

J'ai toruvé un autre site qui correspond un peu à ma demande (mais là ce sont des fond d'écran qui se changent lorsque l'on réactualise la page, un peu différent) : http://www.esbac-quimper.org/ j'ai régardé le code, mais je ne vois pas ce qui attribue cette action de changement d'image.

Help please, en apprenant cette fonction, je pourrai avancer mon site, pour l'heure je suis bloquée.
J'ai besoin de votre aide,

Merci beaucoup en avance!
Laure
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
30 mai 2008 à 20:00
Je ne peux t'aider que si tu utilises la solution que je te propose : elle est moins sophistiquée et moins économe en temps serveur mais elle est certainement plus simple et plus portable.

Poste ton script en l'état comme point de départ.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
30 mai 2008 à 20:04
yes merci, j'essaierais de tester les deux options dont la tienne pour voir laquelle me semble la plus adaptée ( en terme aussi de difficulté..)

mon script est dispo sur www.lauremanach.net/menu2/10joursapekin.php

je te remercie pour ton aide
et vais poster ma question aussi sur le forum de programmation pour ouvrir les réponses..

A bientôt

Laure
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
30 mai 2008 à 20:07
<style type="text/css">
<!--
.titre {font-family: "American Typewriter";
font-size: 22px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
.titrelight {font-family: "American Typewriter Light";
font-size: 22px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
.textebleu {font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
font-family: "American Typewriter";
color: #0080FF;
}
.textenglish {
font-family: "American Typewriter";
font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
background-color: #FFFFFF;
}
.textefrancais {
font-family: "American Typewriter";
font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #808080;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
a:link {
color: #000000;
text-decoration: none;
}
a:hover {
color: #000000;
text-decoration: overline;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
#texte {
position:absolute;
left:10px;
top:50px;
width:500px;
height:300px;
z-index:1;
visibility: visible;
}
#imagesuivante {
position:absolute;
left:10px;
top:10px;
width:100px;
height:20px;
z-index:2;
visibility: visible;
}
#cachertexte {
position:absolute;
left:10px;
top:30px;
width:100px;
height:20px;
z-index:5;
visibility: visible;
}
#montrertexte {
position:absolute;
left:10px;
top:30px;
width:100px;
height:20px;
z-index:4;
visibility: hidden;
}
body {
background-image: url();
}

-->
</style>
<script language="javascript">
function changechina(){
var actual_bg = document.body.background;
var newBgNum = Math.round(Math.random(0)*12)+1;
while ( actual_bg == '/IMAGES/MENU2/china'+newBgNum+'.jpg'){
newBgNum = Math.round(Math.random(0)*12)+1;
}

document.body.background = '/IMAGES/MENU2/china'+newBgNum+'.jpg';

}

function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
<div id="texte"><span class="textenglish">Workshop realised at Central Academy of Fine Arts of Beijing about ways to communicate by drawing in group. We worked in team mixed by both of the nationalities Chinese and French and we asked the culture of Design around the world. First game was to realised tools to draw at four. The concept we imagined was to fix pens on the wallI and carry together a hugde paper. By mooving in co-ordination and listenning each other, we realised a team sketch. <br />
Next of this experience we tried to find a way to confront what could be a Chinese usual object and French usual tool. We decide to work whith bambou tight sticks and rubberbands. We had to realise an animal! First soft the bamboo by drenching it in hot water, and thanks to rubberband we realise curvs on it. Finally we used ruberband for give a shape to the material and reuse it next to connect bamboo together what made a very long caterpillar, the symbol of transmigration (action of people to leave there country for anotherone), what was quite true at this time as we were travelling to a new way of create together.</span></div>
<div id="imagesuivante"><a href="#" class="textenglish" onClick="changechina();return false;">image suivante </a></div>
<div id="cachertexte" onfocus="MM_showHideLayers('texte','','hide','imagesuivante','','show','cachertexte','','hide','montrertexte','','show')"><span class="textenglish"><a href="#" onclick="MM_showHideLayers('texte','','hide','imagesuivante','','inherit','cachertexte','','hide','montrertexte','','show')">c</a></span><a href="#" onclick="MM_showHideLayers('texte','','hide','imagesuivante','','inherit','cachertexte','','hide','montrertexte','','show')"><span class="textenglish">acher le texte</span></a></div>
<div id="montrertexte" onfocus="MM_showHideLayers('texte','','show','imagesuivante','','show','cachertexte','','show','montrertexte','','hide')"> <span class="textenglish"><a href="#" onclick="MM_showHideLayers('texte','','show','imagesuivante','','inherit','cachertexte','','show','montrertexte','','hide')">m</a></span><a href="#" onclick="MM_showHideLayers('texte','','show','imagesuivante','','inherit','cachertexte','','show','montrertexte','','hide')"><span class="textenglish">ontrer le texte</span></a></div>

<p><a href="#" class="textenglish" onClick="changechina();return false;"></a></p>
0
croy Messages postés 453 Date d'inscription samedi 19 janvier 2008 Statut Membre Dernière intervention 23 octobre 2012 114
30 mai 2008 à 21:34
Essaye en remplaçant ton style body actuel par :
body
	{
<?php
	$leFond = '/IMAGES/MENU2/china' . rand(1,12) + '.jpg'
	echo "background-image: url('" . $leFond . "')";
?>
	}


A chaque fois que tu recharges ta page, l'image de fond doit changer aléatoirement.

Il faut que tu comprennes ce mécanisme de base. Ensuite, nous élaborerons d'avantage.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
30 mai 2008 à 21:40
je serai dispo a partir de demain soir, pour l'heure c'est un peu tendu. Je te remerci epour ton aide! rendez vous demain soir.. Je teste en fin d'apres midi ce que tu me propose samedi.

A +++
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
2 juin 2008 à 15:42
Bonjour,

D'abord, désolé de n'avoir plus répondu au sujet. En général je ne passe que quand j'ai un peu de temps au boulot, et ici, la semaine a été très, très, très chargée et remplie d'urgence.

Effectivement, il y'avait une erreur dans ma solution, il ne faut pas de '/' pour commencer la valeur de l'attribut background ("images/...jpg" au lieu de "/images/...jpg")

Voici une correction, testée et fonctionnelle, avec explications :

Version image aléatoire
function changechina(){
//On stocke le nom actuel de l'image de fond
var actual_bg = new String(document.body.background);

//On crée un chiffre aléatoire entre 1 et 12
var newBgNum = Math.round(Math.random(0)*11)+1;
var check = "china" + newBgNum + ".jpg";

//Tant que le nouveau chiffre est celui de l'image actuelle, on en recrée un.
//L'instruction While, est une boucle qui s'éffectue tant que la condition entre parenthèse est vérifiée
// ici : tant que le contenu de check (nouveau nom d'image) existe dans le nom de l'image actuelle
while ( actual_bg.match(check)){

//On recrée un nouveau numéro
newBgNum = Math.round(Math.random(0)*11)+1;

//On redéfini le contenu de check
check = "china" + newBgNum + ".jpg";
}

//On défini le nouveau nom d'image généré aléatoirement comme image de fond
document.body.background = 'IMAGES/MENU2/china'+newBgNum+'.jpg';

} 


Version image dans l'ordre de 1 à 12:
//On défini le compteur, qui commence à 1
var compteur_bg = 1;

function changechina(){
//On incrémente le compteur de 1 pour passer à l'image suivante
compteur_bg++; 

//Si on est arrivé après la dernière image,
if (compteur_bg > 12) {
  //On revient à 1
  compteur_bg = 1
}

document.body.background = 'IMAGES/MENU2/china'+compteur_bg+'.jpg';

} 

Le lien est toujours le même :
<a href="#" onclik="changechina(); return false;">Cliquez ici pour changer l'image de fond</a>


Ne pas hésiter à m'envoyer des MP si je ne passe pas assez souvent ;)
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
3 juin 2008 à 20:24
une question bete peut-être : mais je le place ou tout ca? J'ai un doute...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Untitled Document</title>
</head>

<body>
</body>
</html>


je dois l'appliquer dans un code entre <script> et </script> non?
mais dans body? dans head? avant? après?

0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
3 juin 2008 à 20:26
yes thank you pour l'aide :)
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
4 juin 2008 à 12:00
La partie Javascript peut être dans le head ou le body, indifférement, tant qu'il y'a les balises <script>. Et il peut y avoir plusieurs balises <script> dans un même document HTML.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
4 juin 2008 à 13:46
J'ai pourtant bien appliqué le code et les conseils donnés. Mais plus rien ne fonctionne pas même mes calques afficher le texte / masquer le texte. Je suis un peu perdue.
Pourtant l'ordre des données dans le script me semble bon.


<style type="text/css">
<!--
.titre {font-family: "American Typewriter";
font-size: 22px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
.titrelight {font-family: "American Typewriter Light";
font-size: 22px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
.textebleu {font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
font-family: "American Typewriter";
color: #0080FF;
}
.textenglish {
font-family: "American Typewriter";
font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000000;
text-decoration: none;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
background-color: #FFFFFF;
}
.textefrancais {
font-family: "American Typewriter";
font-size: 11px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #808080;
text-decoration: none;
background-color: #FFFFFF;
letter-spacing: normal;
text-align: left;
word-spacing: normal;
white-space: normal;
display: inline;
}
a:link {
color: #000000;
text-decoration: none;
}
a:hover {
color: #000000;
text-decoration: overline;
}
a:visited {
text-decoration: none;
color: #000000;
}
a:active {
text-decoration: none;
color: #000000;
}
#texte {
position:absolute;
left:10px;
top:50px;
width:500px;
height:300px;
z-index:1;
visibility: visible;
}
#imagesuivante {
position:absolute;
left:10px;
top:10px;
width:100px;
height:20px;
z-index:2;
visibility: visible;
}
#cachertexte {
position:absolute;
left:10px;
top:30px;
width:100px;
height:20px;
z-index:5;
visibility: visible;
}
#montrertexte {
position:absolute;
left:10px;
top:30px;
width:100px;
height:20px;
z-index:4;
visibility: hidden;
}
body {
background-image: url();
}

-->
</style>
<script language="javascript">
//On défini le compteur, qui commence à 1
var compteur_bg = 1;

function changechina(){
//On incrémente le compteur de 1 pour passer à l'image suivante
compteur_bg++;

//Si on est arrivé après la dernière image,
if (compteur_bg > 12) {
//On revient à 1
compteur_bg = 1
}

document.body.background = 'IMAGES/MENU2/china'+compteur_bg+'.jpg';

}

Le lien est toujours le même :
<a href="#" onclik="changechina(); return false;">Cliquez ici pour changer l'image de fond</a>

function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
//-->
</script>
<div id="texte"><span class="textenglish">Workshop realised at Central Academy of Fine Arts of Beijing about ways to communicate by drawing in group. We worked in team mixed by both of the nationalities Chinese and French and we asked the culture of Design around the world. First game was to realised tools to draw at four. The concept we imagined was to fix pens on the wallI and carry together a hugde paper. By mooving in co-ordination and listenning each other, we realised a team sketch. <br />
Next of this experience we tried to find a way to confront what could be a Chinese usual object and French usual tool. We decide to work whith bambou tight sticks and rubberbands. We had to realise an animal! First soft the bamboo by drenching it in hot water, and thanks to rubberband we realise curvs on it. Finally we used ruberband for give a shape to the material and reuse it next to connect bamboo together what made a very long caterpillar, the symbol of transmigration (action of people to leave there country for anotherone), what was quite true at this time as we were travelling to a new way of create together.</span></div>
<div id="imagesuivante"><a href="#" class="textenglish" onClick="changechina();return false;">image suivante </a></div>
<div id="cachertexte" onfocus="MM_showHideLayers('texte','','hide','imagesuivante','','show','cachertexte','','hide','montrertexte','','show')"><span class="textenglish"><a href="#" onClick="MM_showHideLayers('texte','','hide','imagesuivante','','inherit','cachertexte','','hide','montrertexte','','show')">c</a></span><a href="#" onClick="MM_showHideLayers('texte','','hide','imagesuivante','','inherit','cachertexte','','hide','montrertexte','','show')"><span class="textenglish">acher le texte</span></a></div>
<div id="montrertexte" onfocus="MM_showHideLayers('texte','','show','imagesuivante','','show','cachertexte','','show','montrertexte','','hide')"> <span class="textenglish"><a href="#" onClick="MM_showHideLayers('texte','','show','imagesuivante','','inherit','cachertexte','','show','montrertexte','','hide')">m</a></span><a href="#" onClick="MM_showHideLayers('texte','','show','imagesuivante','','inherit','cachertexte','','show','montrertexte','','hide')"><span class="textenglish">ontrer le texte</span></a></div>

<p><a href="#" class="textenglish" onClick="changechina();return false;"></a></p>

0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
4 juin 2008 à 16:20
Le lien est toujours le même :
<a href="#" onclik="changechina(); return false;">Cliquez ici pour changer l'image de fond</a>


Tu as laissé trainer ca dans le code ;)

C'était un exemple de lien clickable pour la modification de l'image de fond. Ca doit se mettre dans le code HTML à l'endroit ou tu veux qu'il apparaisse.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
4 juin 2008 à 18:04
Je pense avoir corriger cette erreur pourtant, ca ne fonctionne toujours pas.
Je te laisse ci contre l'adresse pour accéder au code (depuis le post, ça devient illisible..)

www.lauremanach.net/MENU2/10joursapekin.php

Je me demande si le problème ne vient pas de tout ca, qu'en penses tu?:

- le fait que dans mon dossier IMAGES/MENU2 : il y ai toutes les images qui correspondent au menu deux : donc china1 2 3 ... 12 , mais aussi projet1 projet2 projet3 (donc des images d'autres projets du MENU2 qui ne vont pas dans cette page 10joursapekin.php. Dans ce cas est-il préférable que je crée de nouveaux sous-dossiers?

- le fait que je n'ai pas d'image de fond par défaut quand je vais dans le panneau des propriétés sur DW.

- le fait que mon script est probablement bourré d'erreur :)

- le fait que j'ai modifié cette fameuse ligne du lien pour changer l'image de fond.

Mais tout de même, j'ai fidèlement copié/collé ton script qui normalement fonctionne. Je trouve ça étrange...
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
4 juin 2008 à 18:39
Bon, comme je ne veux pas faire n'importe quoi je suis repartie à zéro à partir de ton code, voici la page test que j'utilise pour le post dorénavant : http://www.lauremanach.net/menu2/test.php

le dossier images s'écrit exactement IMAGES
le sous-dossier menu2 dan simages s'écrit exactement : MENU2
et j'ai rangé les images dans des sousdossiers, le simages china sont d e1 à 12 et rangées dans ce sous-sous-dossier CHINA

Voila pour les infos nécessaires je pense.

Mais comment se fait il qu'il n'y ai absolument aucun fond d'écran par défaut?...

0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257 > pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
5 juin 2008 à 00:00
Dans le code de ton lien, il manque un C à 'onclick'. Du coup, le javascript n'est pas appelé quand tu clic sur le lien.

Et, oui, j'ai oublié de préciser qu'il faut définir le premier fond.

<body background="IMAGES/MENU2/china1.jpg">

Une fois ceci réglé, ton code fonctionne.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008
5 juin 2008 à 11:57
J'ai un probleme pour vérifier si ca fonctionne.
Je ne peux pas me connecter à cyberduck pour charger ma page( la connexion neufwifi qui refuse).
et que je cherche a voir sur internet ne test sur mozilla, il le refuse et dit "url non valide".
Comment je peux tester un php sans me mettre sur internet?? Parce que là je ne peux pas avancer. Ca m'embête
0
Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009 257
5 juin 2008 à 12:54
Tu peux installer Wampserveur, ou EasyPhp sur ton pc, ca fait office de serveur web et interpreteur PHP.
C'est relativement facile à installer, et la config par défaut est correcte pour un développement classique.
0
pbimprimante Messages postés 56 Date d'inscription jeudi 20 mars 2008 Statut Membre Dernière intervention 5 juin 2008 > Xil Messages postés 350 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 11 juin 2009
5 juin 2008 à 13:25
je suis sur mac : je telecharge ca : https://www.mamp.info/en/windows/
ca devrait marcher.

0