Soyez le premier à donner votre avis sur cette source.
Vue 16 777 fois - Téléchargée 941 fois
<html><head> <style> #menuC { color:#0080ff; background-color:#000000; position:absolute; left:-395px; top:-395px; width:12em; border: 5px outset green; line-height:0.9em; cursor:default; } #menuC a { color:#0080ff; font-size:15px; font-family:Times New Roman,Arial; font-weight:bold; padding-left:15px; padding-right:15px; cursor:hand; } #menuC a:hover { color:#ffffff; font-size:15px; font-family:Times New Roman,Arial; font-weight:bold; padding-left:15px; padding-right:15px; cursor:hand; } </style> <script language="JavaScript"> // Le sommaire : Début var menuC; var menuCStyle; function showmenuC(e){ // Place le sommaire et l'affiche à l'écran var cX = (navigator.appName.substring(0,3) == "Net") ? e.pageX : event.clientX; var cY = (navigator.appName.substring(0,3) == "Net") ? e.pageY : event.clientY; var rightedge= document.body.clientWidth-cX; var bottomedge= document.body.clientHeight-cY; if (rightedge>menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft+cX;} else {menuCStyle.left=document.body.scrollLeft+cX-menuC.offsetWidth;} if (document.body.scrollLeft>document.body.scrollLeft+cX-menuC.offsetWidth && rightedge<menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft;} if (bottomedge>menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop+cY;} else {menuCStyle.top=document.body.scrollTop+cY-menuC.offsetHeight;} if (document.body.scrollTop>document.body.scrollTop+cY-menuC.offsetHeight && bottomedge<menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop;} menuCStyle.visibility="visible"; return false; } function hidemenuC(){menuCStyle.visibility="hidden";} // Cache le sommaire. if (navigator.appName.substring(0,3) == "Net") document.captureEvents(Event.MOUSEMOVE); // Le sommaire : Fin </script> </head> <body> <div id="menuC" > <a href="liens1.html">Liens 1</a><br /> <a href="liens2.html">Liens 2</a> <hr size="1" noshade /> <a href="liens3.html">Liens 3</a> </div> <script language="JavaScript1.2"> document.oncontextmenu=showmenuC; document.onclick=hidemenuC; menuC=document.getElementById("menuC"); menuCStyle=document.getElementById("menuC").style; </script> </body></html>
17 oct. 2007 à 10:40
<html><head>
<style>
#menuC {
color:#0080ff;
background-color:#000000;
position:absolute;
left:-395px;
top:-395px;
width:12em;
border: 5px outset green;
line-height:0.9em;
cursor:default;
}
#menuC a {
color:#0080ff;
font-size:15px;
font-family:Times New Roman,Arial;
font-weight:bold;
padding-left:15px;
padding-right:15px;
cursor:hand;
}
#menuC a:hover {
color:#ffffff;
font-size:15px;
font-family:Times New Roman,Arial;
font-weight:bold;
padding-left:15px;
padding-right:15px;
cursor:hand;
}
</style>
<script language="JavaScript">
// Le sommaire : Début
var menuC;
var menuCStyle;
var ie=0;
function showmenuC(e){ // Place le sommaire et l'affiche à l'écran
if (ie==1)
{
var cX (navigator.appName.substring(0,3) "Net") ? e.pageX : event.clientX;
var cY (navigator.appName.substring(0,3) "Net") ? e.pageY : event.clientY;
var rightedge= document.body.clientWidth-cX;
var bottomedge= document.body.clientHeight-cY;
if (rightedge>menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft+cX;}
else {menuCStyle.left=document.body.scrollLeft+cX-menuC.offsetWidth;}
if (document.body.scrollLeft>document.body.scrollLeft+cX-menuC.offsetWidth && rightedge<menuC.offsetWidth)
{menuCStyle.left=document.body.scrollLeft;}
if (bottomedge>menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop+cY;}
else {menuCStyle.top=document.body.scrollTop+cY-menuC.offsetHeight;}
if (document.body.scrollTop>document.body.scrollTop+cY-menuC.offsetHeight && bottomedge<menuC.offsetHeight)
{menuCStyle.top=document.body.scrollTop;}
menuCStyle.visibility="visible";
return false;
}
else
{
if (e.button==2||e.button==3)
{
var cX (navigator.appName.substring(0,3) "Net") ? e.pageX : event.clientX;
var cY (navigator.appName.substring(0,3) "Net") ? e.pageY : event.clientY;
var rightedge= document.body.clientWidth-cX;
var bottomedge= document.body.clientHeight-cY;
if (rightedge>menuC.offsetWidth) {menuCStyle.left=document.body.scrollLeft+cX;}
else {menuCStyle.left=document.body.scrollLeft+cX-menuC.offsetWidth;}
if (document.body.scrollLeft>document.body.scrollLeft+cX-menuC.offsetWidth && rightedge<menuC.offsetWidth)
{menuCStyle.left=document.body.scrollLeft;}
if (bottomedge>menuC.offsetHeight) {menuCStyle.top=document.body.scrollTop+cY;}
else {menuCStyle.top=document.body.scrollTop+cY-menuC.offsetHeight;}
if (document.body.scrollTop>document.body.scrollTop+cY-menuC.offsetHeight && bottomedge<menuC.offsetHeight)
{menuCStyle.top=document.body.scrollTop;}
menuCStyle.visibility="visible";
return false;
}
else
{
hidemenuC();
}
}
}
function hidemenuC(){menuCStyle.visibility="hidden";} // Cache le sommaire.
if (navigator.appName.substring(0,3) == "Net") document.captureEvents(Event.MOUSEMOVE);
// Le sommaire : Fin
</script>
</head>
[liens1.html Liens 1]
[liens2.html Liens 2]
<hr size="1" noshade />
[liens3.html Liens 3]
<script language="JavaScript">
if (document.all) // for IE
{
ie=1;
document.oncontextmenu=showmenuC;
document.onclick=hidemenuC;
}
else // for FF
{
document.onclick=showmenuC;
}
menuC=document.getElementById("menuC");
menuCStyle=document.getElementById("menuC").style;
</script>
</html>
je n'ai pas réussi a simplifier d'avantage... mais de cette façon cela fonctionne sous IE et firefox!(testé avec les versions 1.5.0.12 et 2.0.0.7)
17 oct. 2007 à 09:09
je viens de tester cette source qui est vraiment sympa sauf que ... ça marche pas bien sous firefox :-( le click droit fait également afficher le menu contextuel de firefox... quelqu'un saurait t'il comment éviter cela ?
Merci d'avance.
12 sept. 2007 à 16:38
Ensuite, le script modifié permettant de faire apparaître le menu contextuel sur l'elt. de son choix fonctionne presque parfaitement.
En effet, j'ai voulu le tester avec une image et en cliquant sur celle-ci le menu est apparu mais sous l'image!!
En essayant de jouer avec les Zindex, je n'ai pas réussi à le faire apparaitre dessus.
De plus, débutant en javascript, j'ai lu que la fonction "oncontextmenu" était spécifique à IE et que les autres navigateurs ne le comprenaient pas => question : la modif' avec le 'oncontextmenu="showmenuC();return false;"' inséré dans l'elt. fonctionnera t-elle avec les autres navigateurs??
Bref si qq'un pouvait m'éclairer, j'en serai très reconnaissant.
Merci d'avance et pardonnez moi mes faiblesses, je débute..
25 juil. 2006 à 00:25
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml">
le script ne fonctionne plus, il est à remarquer que ce bug ce reproduit sur beaucoup des scripts proposés sur ce site.
Quel peux en être l'origine et comment corriger cela ?
30 déc. 2005 à 15:50
Merci beaucoup!!
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.