Right-Click Menu [tut]

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
XAndreasX
Δημοσιεύσεις: 194
Εγγραφή: 29 Ιουν 2008 23:36

Right-Click Menu [tut]

Δημοσίευση από XAndreasX » 03 Ιούλ 2008 13:56

To συγκεκριμένο tut που βρηκα είναι γι αυτούς που θέλουν να κλειδώσουν το δεξί κλικ αλλά και να κάνουν κάτι χρήσιμο :wink:

Δημιουργεί με δεξί κλικ μια δεύτερη navigation bar

Κώδικας: Επιλογή όλων

<script language="javaScript">
<!--

 menuItems = new Array&#40;&#41;;
 menuItemNum = 0;

 function addMenuItem&#40;text, url, img&#41;&#123;
  if&#40;img&#41; menuItems&#91;menuItemNum&#93; = new Array&#40;text, url, img&#41;;
  else if&#40;text&#41; menuItems&#91;menuItemNum&#93; = new Array&#40;text, url&#41;;
  else menuItems&#91;menuItemNum&#93; = new Array&#40;&#41;;
  menuItemNum++;
 &#125;

 menuWidth = 148; //menu width
 menuHeight = 176; //menu height
 menuDelay = 50; //delay before menu appears
 menuSpeed = 8; //speed which menu appears &#40;lower=faster&#41;
 menuOffset = 2; //offset of menu from mouse pointer

 addMenuItem&#40;"<center>κεντρική  </center>","http&#58;//www.freestuff.gr/"&#41;;
 addMenuItem&#40;&#41;;
 addMenuItem&#40;"συζητήσεις ","http&#58;//www.freestuff.gr/forums/"&#41;;
 addMenuItem&#40;"bookmarks","http&#58;//bookmarks.freestuff.gr/"&#41;;
 addMenuItem&#40;"e-cards","http&#58;//www.freestuff.gr/postcards/"&#41;;
 addMenuItem&#40;&#41;;
 addMenuItem&#40;"Όροι Χρήσης  ","http&#58;//www.freestuff.gr/forums/viewtopic.php?t=1188"&#41;;




 if&#40;window.navigator.appName == "Microsoft Internet Explorer" && window.navigator.appVersion.substring&#40;window.navigator.appVersion.indexOf&#40;"MSIE"&#41; + 5, window.navigator.appVersion.indexOf&#40;"MSIE"&#41; + 8&#41; >= 5.5&#41;
  isIe = 1;
 else
  isIe = 0;

 if&#40;isIe&#41;&#123;
  menuContent = '<table id="rightMenu" width="0" height="0" cellspacing="0" cellpadding="0" style="font&#58;menu;color&#58;menutext;"><tr height="1"><td style="background&#58;threedlightshadow" colspan="4"></td><td style="background&#58;threeddarkshadow"></td></tr><tr height="1"><td style="background&#58;threedlightshadow"></td><td style="background&#58;threedhighlight" colspan="2"></td><td style="background&#58;threedshadow"></td><td style="background&#58;threeddarkshadow"></td></tr><tr height="10"><td style="background&#58;threedlightshadow"></td><td style="background&#58;threedhighlight"></td><td style="background&#58;threedface"><table cellspacing="0" cellpadding="0" nowrap style="font&#58;menu;color&#58;menutext;cursor&#58;default;">';
  for&#40;m=0;m<menuItems.length;m++&#41;&#123;
   if&#40;menuItems&#91;m&#93;&#91;0&#93; && menuItems&#91;m&#93;&#91;2&#93;&#41;
    menuContent += '<tr height="17" onMouseOver="this.style.background=\'highlight\';this.style.color=\'highlighttext\';" onMouseOut="this.style.background=\'threedface\';this.style.color=\'menutext\';" onClick="parent.window.location.href=\'' + menuItems&#91;m&#93;&#91;1&#93; + '\'"><td style="background&#58;threedface" width="1" nowrap></td><td width="21" nowrap><img src="' + menuItems&#91;m&#93;&#91;2&#93; + '"></td><td nowrap>' + menuItems&#91;m&#93;&#91;0&#93; + '</td><td width="21" nowrap></td><td style="background&#58;threedface" width="1" nowrap></td></tr>';
   else if&#40;menuItems&#91;m&#93;&#91;0&#93;&#41;
    menuContent += '<tr height="17" onMouseOver="this.style.background=\'highlight\';this.style.color=\'highlighttext\';" onMouseOut="this.style.background=\'threedface\';this.style.color=\'menutext\';" onClick="parent.window.location.href=\'' + menuItems&#91;m&#93;&#91;1&#93; + '\'"><td style="background&#58;threedface" width="1" nowrap></td><td width="21" nowrap></td><td nowrap>' + menuItems&#91;m&#93;&#91;0&#93; + '</td><td width="21" nowrap></td><td style="background&#58;threedface" width="1" nowrap></td></tr>';
   else
    menuContent += '<tr><td colspan="5" height="4"></td></tr><tr><td colspan="5"><table cellspacing="0"><tr><td width="2" height="1"></td><td width="0" height="1" style="background&#58;threedshadow"></td><td width="2" height="1"></td></tr><tr><td width="2" height="1"></td><td width="100%" height="1" style="background&#58;threedhighlight"></td><td width="2" height="1"></td></tr></table></td></tr><tr><td colspan="5" height="3"></td></tr>';
  &#125;
  menuContent += '</table></td><td style="background&#58;threedshadow"></td><td style="background&#58;threeddarkshadow"></td></tr><tr height="1"><td style="background&#58;threedlightshadow"></td><td style="background&#58;threedhighlight"></td><td style="background&#58;threedface"></td><td style="background&#58;threedshadow"></td><td style="background&#58;threeddarkshadow"></td></tr><tr height="1"><td style="background&#58;threedlightshadow"></td><td style="background&#58;threedshadow" colspan="3"></td><td style="background&#58;threeddarkshadow"></td></tr><tr height="1"><td style="background&#58;threeddarkshadow" colspan="5"></td></tr></table>';

  menuPopup = window.createPopup&#40;&#41;;
  menuPopup.document.body.innerHTML = menuContent;
 &#125;

 function showMenu&#40;&#41;&#123;
  menuXPos = event.clientX + menuOffset;
  menuYPos = event.clientY + menuOffset;

  menuXIncrement = menuWidth / menuSpeed;
  menuYIncrement = menuHeight / menuSpeed;

  menuTimer = setTimeout&#40;"openMenu&#40;0,0&#41;", menuDelay&#41;;

  return false;
 &#125;


 function openMenu&#40;height, width&#41;&#123;
  iHeight = height;
  iWidth = width;

  menuPopup.show&#40;menuXPos, menuYPos, iWidth, iHeight, document.body&#41;;

  if&#40;iHeight < menuHeight&#41;
   menuTimer = setTimeout&#40;"openMenu&#40;iHeight + menuYIncrement, iWidth + menuXIncrement&#41;", 1&#41;;
  else
   clearTimeout&#40;menuTimer&#41;;
 &#125;


 if&#40;isIe&#41; document.oncontextmenu = showMenu;


//-->
</script>
-----------------

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Right-Click Menu [tut]

Δημοσίευση από Basilakis » 03 Ιούλ 2008 14:05

hehe ωραίαο

είναι αυτό που λέμε

κάτι που δημιουργεί πρόβλημα usability δίνει την δυνατότητα για να δημιουργήσεις κάτι που πάλι είναι καλό ώς προς το menu

Άβαταρ μέλους
ArchangelX
Honorary Member
Δημοσιεύσεις: 2430
Εγγραφή: 24 Μαρ 2004 13:33
Τοποθεσία: 7ος Ουρανός
Επικοινωνία:

Right-Click Menu [tut]

Δημοσίευση από ArchangelX » 03 Ιούλ 2008 15:14

It's not a bug, it's a feature?
Εικόνα

XAndreasX
Δημοσιεύσεις: 194
Εγγραφή: 29 Ιουν 2008 23:36

Right-Click Menu [tut]

Δημοσίευση από XAndreasX » 03 Ιούλ 2008 15:20

i don't speak english :P :D
-----------------

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες