您当前位置:网站首页 >> 编程开发 >> JavaScript >> JavaScript打造网页右键菜单二法

JavaScript打造网页右键菜单二法

2013-10-10 20:09:57 来源:奇库斯(QCOOLS) 浏览:241
关键字:Ja|av|va|aS|Sc|cr|ri|ip|pt|t打|打造|造网|网页|页右|右键|键菜|菜单|单二|二法

内容提要:

  在一般的网页中,IE浏览器的默认右键菜单是一成不变的固定模式,大部分网友浏览网页时对它的利用率不高。对专业的网页设计师来说,如果能将右键菜单设计成个性化的内容该多好呀。
  试想一下,用户在你的网站上一点右键,就是你精心组织的“链接”、“发信”,甚至包含了缤纷的交互式Flash动画!如图1——

  在一般的网页中,IE浏览器的默认右键菜单是一成不变的固定模式,大部分网友浏览网页时对它的利用率不高。对专业的网页设计师来说,如果能将右键菜单设计成个性化的内容该多好呀。

  试想一下,用户在你的网站上一点右键,就是你精心组织的“链接”、“发信”,甚至包含了缤纷的交互式Flash动画!如图1——别流口水了,下面咱们就解解馋,看看如何制作吧。

图1

  右键菜单的改造,我有两种途径(其实,本质是一样的,都是JavaScript的东西)。

  第一种方法是较早的,把下列源代码复制到网页中HTML文件中即可。

< style><p>< !--</p><p>.skin0 {</p><p>position:absolute;</p><p>text-align:left;</p><p>width:200px;</p><p>border:2px solid black;</p><p>background-color:menu;</p><p>font-family:Verdana;</p><p>line-height:20px;</p><p>cursor:default;</p><p>visibility:hidden;</p><p>}</p><p>.skin1 {</p><p>cursor:default;</p><p>font:menutext;</p><p>position:absolute;</p><p>text-align:left;</p><p>font-family: Arial, Helvetica, sans-serif;</p><p>font-size: 10pt;</p><p>width:120px;</p><p>background-color:menu;</p><p>border:1 solid buttonface;</p><p>visibility:hidden;</p><p>border:2 outset buttonhighlight;</p><p>}</p><p>.menuitems {</p><p>padding-left:15px;</p><p>padding-right:10px;</p><p>}</p><p>--></p><p>< /style> </p><p>< SCRIPT LANGUAGE="JavaScript1.2"></p><p>< !-- Web Site: http://www.painting-effects.co.uk --></p><p>< !-- This script and many more are available free online at --></p><p>< !-- The JavaScript Source!! http://javascript.internet.com --></p><p>< !-- Begin</p><p>var menuskin = "skin1"; // skin0, or skin1</p><p>var display_url = 0; // Show URLs in status bar?</p><p>function showmenuie5() {</p><p>var rightedge = document.body.clientWidth-event.clientX;</p><p>var bottomedge = document.body.clientHeight-event.clientY;</p><p>if (rightedge < ie5menu.offsetWidth)</p><p>ie5menu.style.left = document.body.scrollLeft + event.clientX -</p><p>ie5menu.offsetWidth;</p><p>else</p><p>ie5menu.style.left = document.body.scrollLeft + event.clientX;</p><p>if (bottomedge < ie5menu.offsetHeight)</p><p>ie5menu.style.top = document.body.scrollTop + event.clientY -</p><p>ie5menu.offsetHeight;</p><p>else</p><p>ie5menu.style.top = document.body.scrollTop + event.clientY;</p><p>ie5menu.style.visibility = "visible";</p><p>return false;</p><p>}</p><p>function hidemenuie5() {</p><p>ie5menu.style.visibility = "hidden";</p><p>}</p><p>function highlightie5() {</p><p>if (event.srcElement.className == "menuitems") {</p><p>event.srcElement.style.backgroundColor = "highlight";</p><p>event.srcElement.style.color = "white";</p><p>if (display_url)</p><p>window.status = event.srcElement.url;</p><p>}</p><p>}</p><p>function lowlightie5() {</p><p>if (event.srcElement.className == "menuitems") {</p><p>event.srcElement.style.backgroundColor = "";</p><p>event.srcElement.style.color = "black";</p><p>window.status = "";</p><p>}</p><p>}</p><p>function jumptoie5() {</p><p>if (event.srcElement.className == "menuitems") {</p><p>if (event.srcElement.getAttribute("target") != null)</p><p>window.open(event.srcElement.url, event.srcElement.getAttribute("target"));</p><p>else</p><p>window.location = event.srcElement.url;</p><p>}</p><p>}</p><p>// End --></p><p>< /script></p><p>< div id="ie5menu" class="skin0" onMouseover="highlightie5()"</p><p>onMouseout="lowlightie5()"   onClick="jumptoie5();"></p><p>< div class="menuitems" url="javascript:history.back();">返回< /div></p><p>< div class="menuitems" url="http://javacool.3322.net">回首页< /div></p><p>< hr></p><p>< div class="menuitems" url="http://www.163.com">网易< /div></p><p>< div class="menuitems" url="http://www.sohu.com">搜狐< /div></p><p>< hr></p><p>< div class="menuitems" url="http://www.sina.com.cn">新浪< /div></p><p>< div class="menuitems" url="http://www.yahoo.com.cn">雅虎< /div></p><p>< /div></p><p>< script language="JavaScript1.2"></p><p>if (document.all && window.print) {</p><p>ie5menu.className = menuskin;</p><p>document.oncontextmenu = showmenuie5;</p><p>document.body.onclick = hidemenuie5;</p><p>}</p><p>< /script></p>

其效果如下图2:

图2

  第二种方法是利用Dreamweaver的一个插件——Right_Click_Menu_Builder,可以在www.macromedia.com下载得到。安装后,可在Dreamweaver的“Command”菜单的下面找到“Right Click Menu Builder”命令。

  点击该命令,便出现了一个如图3所示的设置框。主要有两部分内容:“Menu”和“Styles”。

图3

  Menu是设置功能的,超级链接、发信链接都在这里设置,在这里最多可以设10项连接。此选择框中“Menu Text”是你右键中将显示的文字(换成中文吧);在“URL”中写入相应的链接路径;“Target”决定是否是新窗口或是用现在的窗口展示链接的内容,填入“Blank”就是在新窗口显示,和Dreamweaver的“Target”设置是一样的。

  那怎样加入Flash呢?是这样做的:在网页中加一个“Table”,它的“W”宽建议设为:“100%”,这样会方便你下面添加的各种元素的定位。好,在该“Table”中插入Flash的SWF文件,位置设成“居中”(主要是方便定位,当然具体问题具体分析,自己多尝试一下会有心得的)。

  小技巧:Flash动画不妨做成有交互链接的那种,为什么呢?这样你就可以加任意数量的超级链接。插件自身有最多10条的限制,用了Flash可就全解决啦!



相关文章
发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(仅供表达个人看法,并不表明本站同意其观点或证实其描述)
赞助商链接
点击排行