Click droit avec menu

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 892 fois - Téléchargée 26 fois

Contenu du snippet

Ce code fait un menu lorsque vous clickez du coté droit de la souris.

Source / Exemple :


<HTML>
<HEAD>
<style>
.skin0 {
position:absolute;
text-align:left;
width:200px;
border:2px solid black;
background-color:menu;
font-family:Verdana;
line-height:20px;
cursor:default;
visibility:hidden;
}
.skin1 {
cursor:default;
font:menutext;
position:absolute;
text-align:left;
font-family: Arial, Helvetica, sans-serif;
font-size: 10pt;
width:120px;
background-color:menu;
border:1 solid buttonface;
visibility:hidden;
border:2 outset buttonhighlight;
}
.menuitems {
padding-left:15px;
padding-right:10px;
}
</style>
<SCRIPT LANGUAGE="JavaScript1.2">
var menuskin = "skin1";
var display_url = 0; 
function showmenuie5() {
var rightedge =
document.body.clientWidth-event.clientX;
var bottomedge =
document.body.clientHeight-event.clientY;
if (rightedge < ie5menu.offsetWidth)
ie5menu.style.left = document.body.scrollLeft +
event.clientX - ie5menu.offsetWidth;
else
ie5menu.style.left = document.body.scrollLeft +
event.clientX;
if (bottomedge < ie5menu.offsetHeight)
ie5menu.style.top = document.body.scrollTop +
event.clientY - ie5menu.offsetHeight;
else
ie5menu.style.top = document.body.scrollTop +
event.clientY;
ie5menu.style.visibility = "visible";
return false;
}
function hidemenuie5() {
ie5menu.style.visibility = "hidden";
}
function highlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "blue";
event.srcElement.style.color = "red11:14 AM 23/03/200111:14 AM 23/03/2001";
if (display_url)
window.status = event.srcElement.url;
   }
}
function lowlightie5() {
if (event.srcElement.className == "menuitems") {
event.srcElement.style.backgroundColor = "";
event.srcElement.style.color = "black";
window.status = "";
   }
}
function jumptoie5() {
if (event.srcElement.className == "menuitems") {
if (event.srcElement.getAttribute("target") != null)
window.open(event.srcElement.url,
event.srcElement.getAttribute("target"));
else
window.location = event.srcElement.url;
   }
}
</script>
</HEAD>
<BODY>
<div id="ie5menu" class="skin0"
onMouseover="highlightie5()"
onMouseout="lowlightie5()" onClick="jumptoie5();">
// Écrire les liens dans 'url' et le nom après.
<div class="menuitems"
url="lien1.html">Nom du 1e lien</div>
<hr>
<div class="menuitems"
url="lien2.html">Nom du 2e lien</div>
<hr>
<div class="menuitems"
url="lien3.html">Nom du 3e lien</div>
<script language="JavaScript1.2">
if (document.all && window.print) {
ie5menu.className = menuskin;
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
</script>
</BODY>
</HTML>

Conclusion :


Merci d'avance pour reporter les bugs.
P.S.: Ce n'est pas de moi, je l'ai trouvé sur un site.

bob3000

A voir également

Ajouter un commentaire

Commentaires

Messages postés
6
Date d'inscription
lundi 25 août 2003
Statut
Membre
Dernière intervention
5 mai 2013

Bleu fonce sur texte noir, bof, bof,

Remplace plutot la ligne 61:

event.srcElement.style.backgroundColor = "blue";

Par

event.srcElement.style.backgroundColor = "pink";
Messages postés
296
Date d'inscription
mercredi 10 septembre 2003
Statut
Membre
Dernière intervention
11 septembre 2004

Si vous voulez que votre menu s'affiche toujours à l'intérieur de la page, j'ai fais un pragramme ici :

http://www.javascriptfr.com/code.aspx?ID=17534
Messages postés
406
Date d'inscription
mardi 7 mai 2002
Statut
Membre
Dernière intervention
2 octobre 2004

rogleb » merci pour la correction!
Messages postés
2
Date d'inscription
mardi 14 janvier 2003
Statut
Membre
Dernière intervention
11 mars 2003

Voici le bug de cette function réglé

function highlightie5()
{
if (event.srcElement.className == "menuitems")
{
event.srcElement.style.backgroundColor = "blue";
event.srcElement.style.color = "red";
}
if (display_url)
{
window.status = event.srcElement.url;
}
}
Messages postés
47
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
19 juin 2004

Virtual747 > il vient de dir qu'il l'a reprit sur un site .
Afficher les 7 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.