Hello bonjour je suis nouveau ici,

J'utilise Dreamweaver CS3 et j'aimerai faire la meme chose que sur la page www.romandie.com/news
à savoir que quand je passe sur un texte l'image d'à coté change. Je crois qu'il faut utiliser XML mais je sais pas faire quelqu'un aurait-il une solution?

Exemple:

Sur la gauche de la fenetre des texte les un sous les autres comme :

Pomme
Banane
Poire
Fraise
etc..

et en passant sur les nom des fruits l'image correspondante s'affiche.

Merci de votre aide
Modifié par SuperFun (06 Aug 2007 - 11:09)
Modérateur
Bonjour et bienvenue, Smiley smile

xml peut servir à décrire des données mais ne permet pas ce genre de chose. Par ailleurs, on s'en sert rarement en l'état ; généralement, on transforme le xml en xhtml via une feuille xslt et un moteur de transformation (le plus souvent côté serveur... avec php par exemple)

Autrement dit, c'est optionnel et, pour ta demande, mieux vaut directement structurer tes données en xhtml. Pour obtenir le changement d'image au survol, il faut passer par Javascript.

Je te laisse un petit exemple à adapter selon tes besoins :

index.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" lang="fr">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />

		<title>Exemple</title>

		<style type="text/css"><!--

@media screen, projection
{
	ul { float: left; }
	div { float: left; width: 200px; height: 200px; margin-left: 50px; background-color: #CCC; }
}

		--></style>
		<script type="text/javascript"><!--

var oO =
{
	connect: function(oElem, sEvType, fn, bCapture)
	{
		return document.addEventListener ?
			oElem.addEventListener(sEvType, fn, bCapture):
			oElem.attachEvent ?
				oElem.attachEvent('on' + sEvType, fn):
				false;
	},

	oId: function(sId)
	{
		return document.getElementById(sId);
	},

	aTag: function(oEl, sTag)
	{
		return oEl.getElementsByTagName(sTag);
	},

	oEl: function(oCible, sTag)
	{
		var oEl;

		oEl = document.createElement(sTag);

		if(arguments[2])
			oEl.id = arguments[2];

		return oCible.appendChild(oEl);
	},

	getSource: function(e)
	{
		return e.target || e.srcElement;
	},

	affiche: function(sId, e)
	{
		var oSrc, sImg;

		oSrc = oO.getSource(e);

		sImg = '<img src="' + oSrc.rel + '" width="200" height="200" alt="' + oSrc.firstChild.nodeValue + '" />';

		return oO.oId(sId).innerHTML = sImg;
	},

	init: function()
	{
		var oFruits, oCont, sId, aA, iA;

		oFruits = oO.oId('fruits');
		sId = 'contImg';
		oCont = oO.oEl(document.body, 'div', sId);
		aA = oO.aTag(oFruits, 'a');
		iA = aA.length;

		do oO.connect(aA[--iA], 'mouseover', function(e) { oO.affiche(sId, e); }, false);
		while(iA > 0); 
	}
};

oO.connect(window, 'load', oO.init, false);

		//--></script>
	</head>
	<body>

<ul id="fruits">
	<li><a href="pomme.html" rel="pomme.png">Pomme</a></li>
	<li><a href="banane.html" rel="banane.png">Banane</a></li>
	<li><a href="kiwi.html" rel="kiwi.png">Kiwi</a></li>
	<li><a href="fraise.html" rel="fraise.png">Fraise</a></li>
</ul>

	</body>
</html>


(Nota: Dans ce script, les images doivent se trouver dans le même dossier que ce fichier xhtml)

PS : Peux-tu éditer ton titre pour le rendre plus explicite car ton problème n'est pas propre à "Dreamweaver CS3" ? Merci d'avance. Smiley cligne
Modifié par koala64 (06 Aug 2007 - 09:31)
Hello,
Editer mon titre ? c'est quoi ça?
D'autre part pas doué du tout en langage que ce soit l un ou l autre
Modérateur
Si tu suis le lien que je t'ai donné, c'est expliqué. Smiley cligne

En haut à droite de chaque post, tu as un bouton d'édition et à partir de là, il suffit de changer ton titre avec quelquechose du genre :

"Comment afficher une image au survol d'un lien ?"

Quant au langage, ben ça s'apprend. Là, je t'ai donné un code mais si tu veux le comprendre, il faut faire des recherches sur internet. Le but du forum n'est pas de faire les choses à ta place mais plutôt de t'orienter donc si quelquechose te semble obscur, n'hésite pas à demander. Smiley jap

Etant donné que tu sembles vraiment débuter, je te conseille déjà de regarder les tutos d'Alsacréations, Openweb, Pompage, etc... en procédant par ordre. (xhtml, css, javascript, php, etc...)
Modifié par koala64 (06 Aug 2007 - 10:03)
Modérateur
Plus que de lire, il faut surtout pratiquer si tu veux savoir le faire seul car il y a pas mal de notions à aborder. Smiley smile

PS : Et désolé de t'embêter mais si tu considères le sujet comme résolu, ça aussi, il faut l'ajouter dans le titre du sujet ; ça peut servir à d'autres..
As-tu lu les règles lors de ton inscription ? Il est toujours temps de le faire. Smiley cligne
Si si lu les conditions et règles consideré comme résolu euh non puisque ca marche pas mais c'est vrai que je pourrait le mettre comme résolu puisque le temps de faire toute ces lecture faire des essai avec ce que tu m a donné au dessus pourrait résoudre le problème
pour le moment le fait de faire changer l'image par rapport au passage de la souris sur un texte mais je n'ai pas encore essayé de poser ce que tu m'as donné car pas eu le temps de m'y mettre serieusement
Bonjour,

Si tu n'y connais pas grand-chose, il serait peut-être préférable que tu te limites dans tes apprentissages.
Et si tu n'as pas des centaines d'images à afficher de cette manière, tu peux certainement te contenter de HTML et de CSS.

Tu trouveras des exemples sur cette page. Le 3e correspond assez à ta demande.
Tout ça est fait sans Javascript, mais en HTML et avec des feuilles de styles (CSS).

Ça fonctionne avec un petit truc.
Lorsqu'on passe la souris sur les liens, une <span> incluse dans un <a> et qui était cachée, s'affiche aux endroits choisis :
[#green]<a>[/#]Phasellus porta aliquam tellus[#blue]<span[/#] id="img1"[#blue]>[/#]Fraise[#blue]</span>[/#][#green]</a>[/#]

Chacune est définie avec l'image et le texte correspondants.

Les feuilles de styles sont dans le document. Il suffit d'Afficher le code source pour en voir le contenu :
    #blocgauche2 a:hover span#img1 {
      background : transparent url(images/_fraise1.jpg) 15px 10px no-repeat;
      }


À tester dans IE.
 
Modifié par Gihef (06 Aug 2007 - 20:07)
Modérateur
Hello, Smiley smile

Il y a quand même un problème à se servir de ces bidouilles CSS, c'est lorsque CSS est désactivé. L'image (ou texte) qui apparait au survol est optionnel et n'a donc rien à faire dans le document d'origine. Dans ton exemple, Gihef, le texte qui est planqué via CSS dénature le paragraphe lorsque ce langage est absent. Il vaut mieux, dans ce cas, qu'il n'apparaisse pas du tout afin de conserver la logique.
Par ailleurs, ce genre de chose t'oblige à modifier le code (X)HTML en direct alors qu'en Javascript, les éléments nécessaires à ce comportement n'apparaissent que si le langage est actif.

a écrit :
Tout ça est fait sans Javascript, mais en HTML et avec des feuilles de styles (CSS).
Certes, c'est une technique qu'il est bon de connaitre mais ça reste malgré tout le rôle de Javascript et non de CSS que de faire apparaître un élément au survol d'un autre. Après, tout dépend du public visé et des technologies dont il dispose, il est vrai.

Nota : Dans un cas comme dans l'autre, nous pourrions améliorer le tout en ajoutant la navigation clavier :
- via l'attachement d'un gestionnaire d'événement sur la prise de focus si on passe par Javascript,
- via les pseudo-classes focus et active (pour IE) si on passe par CSS.
Modifié par koala64 (07 Aug 2007 - 09:26)
Arffff,
J'ai trouvé la solution, ce n'est ni XML, ni CSS, c'est bien plus simple que ça.
Avec Dreamweaver CS3, il suffit d'aller dans:
Balises => Comportements => cliquer le signe + et choisir permuter une image.
Ensuite il y a juste à indiquer quelle image faut permuter lorsque qu'on passe sur le texte et indiquer par quelle autre image.
(Petit détail mais qui a son importance faut refaire la meme chose pour lui dire de rétablir l'image d'origine quand la souris n'est plus sur le text voulu.)
Un merci quand même pour ceux qui ont pris la peine de m'aider.