Bien le bonjour,
Je souhaite faire un effet de rollover en Javascript, et d'ailleurs j'y arrive bien pour un seul <a href>
Par contre, je me demande comment faire pour faire en sorte que chaque partie de mon menu ai cet effet sans pour autant avoir à créer une fonction pour chaque entrée de mon menu.
Voici mon code HTML/Javascript:
Donc ici ça marche bien pour une seul entrée.
Est-il possible d'utiliser des variables afin de récupérer le nom de l'image d'origine et donc faire un src en fonction de ce nom?
J'avais pensais à un trc du genre:
Est-ce que ça vous parait faisable?
Modifié par DR I (06 Nov 2010 - 11:01)
Je souhaite faire un effet de rollover en Javascript, et d'ailleurs j'y arrive bien pour un seul <a href>
Par contre, je me demande comment faire pour faire en sorte que chaque partie de mon menu ai cet effet sans pour autant avoir à créer une fonction pour chaque entrée de mon menu.
Voici mon code HTML/Javascript:
<!-- Header -->
<div id="Logo"><a href="/squid/index.php"><img src="/squid/images/header/GK_Logo.jpg" alt="Logo" border="none" /></a></div>
<div id="HeaderMenu">
<div id="HeaderMenuText">
<ul class="Floatleft">
<li>
<a href="#" onClick="loadpage('/squid/pages/monitoring.php','GlobalBody');" onmouseover="swapimage(document.images['Monitoring']);"
onmouseout="restoreimage(document.images['Monitoring']);">
<img name="Monitoring" src="/squid/images/header/GK_MenuMONUnselected.png" alt="Monitoring" border="none" />
</a>
</li>
<li>
<a href="#" onClick="loadpage('/squid/pages/reporting.php','GlobalBody');">
<img name="Reporting" src="/squid/images/header/GK_MenuREPORTUnselected.png" alt="Reporting" border="none" />
</a>
</li>
<li>
<a href="#" onClick="loadpage('/squid/pages/monitoring.php','GlobalBody');">
<img name="Tasks" src="/squid/images/header/GK_MenuTASKSUnselected.png" alt="Scheduled Tasks" border="none" />
</a>
</li>
<li>
<a href="#" onClick="loadpage('/squid/pages/monitoring.php','GlobalBody');">
<img name="Settings" src="/squid/images/header/GK_MenuCONFUnselected.png" alt="Settings" border="none" />
</a>
</li>
</ul>
</div>
</div>
// JavaScript Document
// Fonction d'insertion de page dans DIV cible
function loadpage(url, id)
{
var xhr_object = null;
var contenair = id;
if (window.XMLHttpRequest) {
xhr_object = new XMLHttpRequest();
xhr_object.open("GET", url, true); //true car asynchrone.
xhr_object.onreadystatechange = function() { // quand il y a du nouveau executes ça
if (xhr_object.readyState != 4) { return;
}// on s'en moque
if (xhr_object.status != 200 && xhr_object.status != 304){
alert("erreur " + xhr_object.status); // quelque chose cloche sur ton serveur
return;
}
document.getElementById(contenair).innerHTML = xhr_object.responseText;
};
xhr_object.send(); // pas besoin de null
}
}
// Fonction de changement d'image au survol
function swapimage(img)
{
img.src='/squid/images/header/GK_MenuMONSelect.png';
}
// Fonction de retauration d'image aprés survol
function restoreimage(img)
{
img.src='/squid/images/header/GK_MenuMONUnselected.png';
}
Donc ici ça marche bien pour une seul entrée.
Est-il possible d'utiliser des variables afin de récupérer le nom de l'image d'origine et donc faire un src en fonction de ce nom?
J'avais pensais à un trc du genre:
// Fonction de changement d'image au survol
function swapimage(img)
{
switch (img)
{
case Monitoring: img.src='/squid/images/header/GK_MenuMONSelect.png';
break;
case Reporting: img.src='/squid/images/header/GK_MenuREPORTSelect.png';
break;
case Tasks: img.src='/squid/images/header/GK_MenuTASKSSelect.png';
break;
case Settings: img.src='/squid/images/header/GK_MenuSETSelect.png';
break;
}
}
// Fonction de retauration d'image aprés survol
function restoreimage(img)
{
switch (img)
{
case Monitoring: img.src='/squid/images/header/GK_MenuMONUnselect.png';
break;
case Reporting: img.src='/squid/images/header/GK_MenuREPORTUnselect.png';
break;
case Tasks: img.src='/squid/images/header/GK_MenuTASKSUnelect.png';
break;
case Settings: img.src='/squid/images/header/GK_MenuSETUnselect.png';
break;
}
}
Est-ce que ça vous parait faisable?
Modifié par DR I (06 Nov 2010 - 11:01)