在一般的網頁中,IE瀏覽器的預設右鍵選單是一成不變的固定模式,大部分網友瀏覽網頁時對它的使用率不高。對於專業的網頁設計師來說,如果能將右鍵選單設計成個人化的內容,樣式該是多麼的酷和方便。
試想一下,用戶在你的網站上一點右鍵,就是你精心組織的“鏈接”、“發信”,甚至包含了繽紛的交互式Flash動畫!如圖1—別流口水了,下面咱們就解解饞,看看如何製作吧:)。
右鍵選單的改造,我有兩種途徑(其實,本質是一樣的,都是JavaScript的東西)。
第一種方法是較早的,把下列原始碼複製到網頁中HTML檔案的中即可。
< 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">
< !-- Web Site: http://www.painting-effects.co.uk -->
< !-- This script and many more are available free online at -->
< !-- The JavaScript Source!! http://javascript.internet.com -->
< !-- Begin
var menuskin = "skin1"; // skin0, or skin1
var display_url = 0; // Show URLs in status bar?
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 = "highlight";
event.srcElement.style.color = "white";
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;
}
}
// End -->
< /script>
< div id="ie5menu" class="skin0" onMouseover="highlightie5()"
onMouseout="lowlightie5()" onClick="jumptoie5();">
< div class="menuitems" url="javascript:history.back();">回傳< /div>
< div class="menuitems" url=" http://javacool.3322.net ">回首頁< /div>
< hr>
< div class="menuitems" url=" http://www.163.com ">網易< /div>
< div class="menuitems" url=" http://www.sohu.com ">搜狐< /div>
< hr>
< div class="menuitems" url=" http://www.sina.com.cn ">新浪< /div>
< div class="menuitems" url=" http://www.yahoo.com.cn ">Yahoo< /div>
< /div>
< script language="JavaScript1.2">
if (document.all && window.print) {
ie5menu.className = menuskin;
document.oncontextmenu = showmenuie5;
document.body.onclick = hidemenuie5;
}
< /script>
其效果如下圖:
第二種方法是利用Dreamweaver的一個外掛程式-Right_Click_Menu_Buil-der,可以在http://www.macromedia.com下載得到。安裝後,可在Dreamweaver的「Command」選單的下方找到「Right Click Menu Builder」指令。
點選該指令,便出現了一個如圖3所示的設定框。主要有兩部分內容:「Menu」和「Styles」。
Menu是設定功能的,超級連結、寄信連結都在這裡設置,在這裡最多可以設10個連接。此選擇框中「Menu Text」是你右鍵中將顯示的文字(換成中文吧);在「URL」中寫入對應的連結路徑;「Target」決定是否是新視窗或是用現在的視窗展示連結的內容,填入「Blank」就是在新視窗顯示,和Dreamweaver的「Target」設定是一樣的。
Styles是負責設定選單外形的,有兩種選擇:
img src=" “Windows Type Menu(Default)” 是預設項目-最樸實的樣子,熟悉的Windows風格;
「Custom Menu」 自定意選單,如果你選擇了這一項,也要對下面的內容進行設定:
“Menu Width”,菜單的寬度;
“Font”,字體;
“Font Color”,字體顏色;
“Font Side”,字體大小;
“Background Color”、“Background Image”,背景色及背景圖;
還有“Cursor”,是用來選擇滑鼠樣式的。
以上的這些設定好了,就可以點「Add」產生效果了。預覽一下,不錯吧?
那怎麼加入Flash呢?是這樣做的:在網頁中加一個“Table”,它的“W”寬建議設為:“100%”,這樣會方便你下面添加的各種元素的定位。好,在該「Table」中插入Flash的SWF文件,位置設成「居中」(主要是方便定位,當然具體問題具體分析,自己多嘗試一下會有心得的)。
小技巧:Flash動畫不妨做成有互動連結的那種,為什麼呢?這樣你就可以加任意數量的超級連結。插件本身有最多10條的限制,用了Flash可就全解決啦!^_^