context menu au click droit | Titre du sujet : context menu au click droit par nico5050 sur 09/08/2007 19:19:23
Bonjour,
J'ai une question au sujet de xoops plus en général sans viser un module bien spécifique.
Je voudrais créer un script sur mon site où le context menu est costumisé comme dans l'exemple ci-dessous. http://www.dynamicdrive.com/dynamicindex1/contextmenu.htm Le problème est que ce script n'a pas l'air de fonctionner quand <table> est aussi sur la page. J'aimerais faire appraitre le bloc main menu de cette façon et ne pas l'afficher tant que l'on ait pas cliquer sur le bouton droit de la souris.
Merci d'avance, Falcon5
<style> <!--
/* Context menu Script- © Dynamic Drive (www.dynamicdrive.com) Last updated: 01/08/22 For full source code and Terms Of Use, visit http://www.dynamicdrive.com */
.skin0{ position:absolute; width:165px; border:2px solid black; background-color:menu; font-family:Verdana; line-height:20px; cursor:default; font-size:14px; z-index:100; visibility:hidden; }
.menuitems{ padding-left:10px; padding-right:10px; } --> </style> <div id="ie5menu" class="skin0" onMouseover="highlightie5(event)" onMouseout="lowlightie5(event)" onClick="jumptoie5(event)" display:none> <div class="menuitems" url="http://dynamicdrive.com">Dynamicdrive.com</div> <div class="menuitems" url="http://dynamicdrive.com/new.htm" target="newwin">What's New?</div> <div class="menuitems" url="http://dynamicdrive.com/hot.htm">What's Hot?</div> <div class="menuitems" url="http://wsabstract.com/cgi-bin/Ultimate.cgi">Message Forum</div> <div class="menuitems" url="http://dynamicdrive.com/faqs.htm">FAQs</div> <div class="menuitems" url="http://dynamicdrive.com/submitscript. ... ot;>Submit</div> <hr> <div class="menuitems" url="mailto:dynamicdrive@yahoo.com">Email Us</div> </div>
<script language="JavaScript1.2">
//set this variable to 1 if you wish the URLs of the highlighted menu to be displayed in the status bar var display_url=0
var ie5=document.all&&document.getElementById var ns6=document.getElementById&&!document.all if (ie5||ns6) var menuobj=document.getElementById("ie5menu")
function showmenuie5(e){ //Find out how close the mouse is to the corner of the window var rightedge=ie5? document.body.clientWidth-event.clientX : window.innerWidth-e.clientX var bottomedge=ie5? document.body.clientHeight-event.clientY : window.innerHeight-e.clientY
//if the horizontal distance isn't enough to accomodate the width of the context menu if (rightedge<menuobj.offsetWidth) //move the horizontal position of the menu to the left by it's width menuobj.style.left=ie5? document.body.scrollLeft+event.clientX-menuobj.offsetWidth : window.pageXOffset+e.clientX-menuobj.offsetWidth else //position the horizontal position of the menu where the mouse was clicked menuobj.style.left=ie5? document.body.scrollLeft+event.clientX : window.pageXOffset+e.clientX
//same concept with the vertical position if (bottomedge<menuobj.offsetHeight) menuobj.style.top=ie5? document.body.scrollTop+event.clientY-menuobj.offsetHeight : window.pageYOffset+e.clientY-menuobj.offsetHeight else menuobj.style.top=ie5? document.body.scrollTop+event.clientY : window.pageYOffset+e.clientY
menuobj.style.visibility="visible" return false }
function hidemenuie5(e){ menuobj.style.visibility="hidden" }
function highlightie5(e){ var firingobj=ie5? event.srcElement : e.target if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){ if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node firingobj.style.backgroundColor="highlight" firingobj.style.color="white" if (display_url==1) window.status=event.srcElement.url } }
function lowlightie5(e){ var firingobj=ie5? event.srcElement : e.target if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){ if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode //up one node firingobj.style.backgroundColor="" firingobj.style.color="black" window.status='' } }
function jumptoie5(e){ var firingobj=ie5? event.srcElement : e.target if (firingobj.className=="menuitems"||ns6&&firingobj.parentNode.className=="menuitems"){ if (ns6&&firingobj.parentNode.className=="menuitems") firingobj=firingobj.parentNode if (firingobj.getAttribute("target")) window.open(firingobj.getAttribute("url"),firingobj.getAttribute("target")) else window.location=firingobj.getAttribute("url") } }
if (ie5||ns6){ menuobj.style.display='' document.oncontextmenu=showmenuie5 document.onclick=hidemenuie5 }
</script>
|
|