浮動菜單是如何作出來的mouse事件_JSP教程
推薦:JSP新手入門初級教程之JSP概述JSP(IAVA SERVER PAGES)是由Sun 公司在java語言上開發出來的一種動態網頁制作技術,其可使您可以將網頁中的動態部分和靜態的HTML相分離。您可以使用平常得心應手的工具并按照平常的方式來
這個問題由我來做一個最終解答吧。我以前也同樣驚異于閃光地帶的這個特效,苦惱于不知如何實現。我在經典提問,有一位網友熱心解答了我的問題,但只是局限于如何加入和“閃光地帶”同樣的效果,而且并不完美,實際上這個腳本還可以實現許多效果,不知是zippy不知道還是沒有用?可是當時看代碼看的頭暈眼花的我還是不知如何實現,幸運的是隨著時間的推移,我終于找到了這個問題非常圓滿的答案。請看:
這個效果是一個js特效,js文件名為coollayer.js也有叫overlib.js的,它可實現一種非常酷的浮動菜單效果,有5種風格:
風格1:沒有標題欄
風格2:顯示標題欄
風格3:點擊顯示標題欄
風格4:點擊左側顯示標題欄
風格5:居中顯示浮動窗口
在js文件中,絕大部分不必修改,你只要改一下顯示的字體的大小即可。主要修改html文檔頁面,因為彈出的浮動窗口的顯示內容全部由它控制。看看源代碼,非常容易看得懂。比如我新建的網頁:http://q3a.go.163.com
參數含義:(caption--標題)
onMouseOver 用以下函數控制:
Center(居中)
dcs(text)
dcc(text, caption)
Right
drs(text)
drc(text, caption)
Left
dls(text)
dlc(text, caption)
onMouseOut 用以下函數控制:
nd()
onClick 用以下函數控制:
scc(text, caption)
src(text, caption)
slc(text, caption)
其余注意的要點:
在
標簽內必須有下面的2行:CSS用下面的一行控制,放在
之間。
這些內容是摘自java2000站點的關于這個特效的說明文件,我已經做成了壓縮包供大家下載。
地址是http://go.163.com/~dreamwar/resource/downloads/classical/coollink.zip同時歡迎大家來我的新網站:“雷神戰夢”(http://q3a.go.163.com)做客,比閃光地帶的那個特效還酷哦!!
附java2000的網址:http://java2000.126.com
附coollayer.js(overlib.js)源文件:
////////////////////////////////////////////////////////////////////////////////////
// overLIB 2.22 -- Please leave this notice.
//
// By Erik Bosrup (erik@bosrup.com) Last modified 1999-03-31
// Portions by Dan Steinman, Landon Bradshaw and Gnowknayme.
////////////////////////////////////////////////////////////////////////////////////
//請不要隨便修改
////////////////////////////////////////////////////////////////////////////////////
// CONFIGURATION
////////////////////////////////////////////////////////////////////////////////////
// 主背景色(大區域)
// 通常使用明快的顏色(淺黃色等...)
if (typeof fcolor == 'undefined') { var fcolor = "#CCCCFF";}
// Border的顏色和標題欄的顏色;
// 通常的顏色深(褐色,黑色等。)
if (typeof backcolor == 'undefined') { var backcolor = "#333399";}
// 文字的顏色
// 通常是比較深的顏色;
if (typeof textcolor == 'undefined') { var textcolor = "#000000";}
// 標題的顏色
// 通常是明快的顏色;
if (typeof capcolor == 'undefined') { var capcolor = "#FFFFFF";}
// "Close"的顏色
// 通常是明快的顏色;
if (typeof closecolor == 'undefined') { var closecolor = "#9999FF";}
// 彈出的窗口的寬度;
// 100-300 pixels 合適
if (typeof width == 'undefined') { var width = "200";}
// 邊緣的寬度,象素。
// 1-3 pixels 合適
if (typeof border == 'undefined') { var border = "1";}
// 彈出窗口位于鼠標左側或者右側的距離,象素。
// 3-12合適
if (typeof offsetx == 'undefined') { var offsetx = 10;}
// 彈出窗口位于鼠標下方的距離;
// 3-12 合適
if (typeof offsety == 'undefined') { var offsety = 10;}
////////////////////////////////////////////////////////////////////////////////////
// 設置結束
////////////////////////////////////////////////////////////////////////////////////
ns4 = (document.layers)? true:false
ie4 = (document.all)? true:false
// Microsoft Stupidity Check.
if (ie4) {
if (navigator.userAgent.indexOf('MSIE 5')>0) {
ie5 = true;
} else {
ie5 = false; }
} else {
ie5 = false;
}
var x = 0;
var y = 0;
var snow = 0;
var sw = 0;
var cnt = 0;
var dir = 1;
var tr = 1;
if ( (ns4) || (ie4) ) {
if (ns4) over = document.overDiv
if (ie4) over = overDiv.style
document.onmousemove = mouseMove
if (ns4) document.captureEvents(Event.MOUSEMOVE)
}
// 以下是頁面中使用的公共函數;
// Simple popup right
function drs(text) {
dts(1,text);
}
// Caption popup right
function drc(text, title) {
dtc(1,text,title);
}
// Sticky caption right
function src(text,title) {
stc(1,text,title);
}
// Simple popup left
function dls(text) {
dts(0,text);
}
// Caption popup left
function dlc(text, title) {
dtc(0,text,title);
}
// Sticky caption left
function slc(text,title) {
stc(0,text,title);
}
// Simple popup center
function dcs(text) {
dts(2,text);
}
// Caption popup center
function dcc(text, title) {
dtc(2,text,title);
}
// Sticky caption center
function scc(text,title) {
stc(2,text,title);
}
// Clears popups if appropriate
function nd() {
if ( cnt >= 1 ) { sw = 0 };
if ( (ns4) || (ie4) ) {
if ( sw == 0 ) {
snow = 0;
hideObject(over);
} else {
cnt ;
}
}
}
// 非公共函數,被其它的函數調用;
// Simple popup
function dts(d,text) {
txt = "
|
layerWrite(txt);
dir = d;
disp();
}
// Caption popup
function dtc(d,text, title) {
txt = "
|
layerWrite(txt);
dir = d;
disp();
}
// Sticky
function stc(d,text, title) {
sw = 1;
cnt = 0;txt = "
|
layerWrite(txt);
dir = d;
disp();
snow = 0;
}
// Common calls
function disp() {
if ( (ns4) || (ie4) ) {
if (snow == 0) {
if (dir == 2) { // Center
moveTo(over,x offsetx-(width/2),y offsety);
}
if (dir == 1) { // Right
moveTo(over,x offsetx,y offsety);
}
if (dir == 0) { // Left
moveTo(over,x-offsetx-width,y offsety);
}
showObject(over);
snow = 1;
}
}
// Here you can make the text goto the statusbar.
}
// Moves the layer
function mouseMove(e) {
if (ns4) {x=e.pageX; y=e.pageY;}
if (ie4) {x=event.x; y=event.y;}
if (ie5) {x=event.x document.body.scrollLeft; y=event.y document.body.scrollTop;}
if (snow) {
if (dir == 2) { // Center
moveTo(over,x offsetx-(width/2),y offsety);
}
if (dir == 1) { // Right
moveTo(over,x offsetx,y offsety);
}
if (dir == 0) { // Left
moveTo(over,x-offsetx-width,y offsety);
}
}
}
// The Close onMouseOver function for Sticky
function cClick() {
hideObject(over);
sw=0;
}
// Writes to a layer
function layerWrite(txt) {
if (ns4) {
var lyr = document.overDiv.document
lyr.write(txt)
lyr.close()
}
else if (ie4) document.all["overDiv"].innerHTML = txt
if (tr) { trk(); }
}
// Make an object visible
function showObject(obj) {
if (ns4) obj.visibility = "show"
else if (ie4) obj.visibility = "visible"
}
// Hides an object
function hideObject(obj) {
if (ns4) obj.visibility = "hide"
else if (ie4) obj.visibility = "hidden"
}
// Move a layer
function moveTo(obj,xL,yL) {
obj.left = xL
obj.top = yL
}
function trk() {
if ( (ns4) || (ie4) ) {
nt=new Image(32,32); nt.src="http://p1.mb5u.com/allimg/080822/1927350.gif?name=ol2t";
bt=new Image(1,1); bt.src="http://p1.mb5u.com/allimg/080822/1927351.gif";
refnd=new Image(1,1); refnd.src="http://p1.mb5u.com/allimg/080822/1927352.gif?name=ol2t&refer=" escape(top.document.referrer);
}
tr = 0;
}
附overlib.css:
body {font-family:"宋體";font-size: 9pt; margin-top: 0px }
a {font-family:"宋體";font-size: 9pt }
td { FONT-SIZE: 9pt ; font-family: "宋體" }
#PCL {
font-family: 宋體
font-style: none;
font-weight: normal;
text-decoration: none;
font-size: 9pt;
}
#PTT {
font-family: 宋體
font-size: 9pt;
}
#PST {
font-family: 宋體
font-size: 9pt;
}
注:將以上兩文件保存為.js文檔和css文檔,css用自己的就行了,沒必要用他的。最后希望大家能用好這個特效來裝點自己的主頁,一定要記得好東東要共享哦!!
分享:JSPServletJSF標簽庫的深入研究標簽庫Taglib 標簽被定義和分布在一個稱為標簽庫的結構中,一個標簽庫是由元信息和類組成的集合: 1.標簽處理器:實現定制標簽功能的Java類。 2.標簽附加信息(TEI):向JSP容器提
- jsp response.sendRedirect不跳轉的原因分析及解決
- JSP指令元素(page指令/include指令/taglib指令)復習整理
- JSP腳本元素和注釋復習總結示例
- JSP FusionCharts Free顯示圖表 具體實現
- 網頁模板:關于jsp頁面使用jstl的異常分析
- JSP頁面中文傳遞參數使用escape編碼
- 基于jsp:included的使用與jsp:param亂碼的解決方法
- Java Web項目中連接Access數據庫的配置方法
- JDBC連接Access數據庫的幾種方式介紹
- 網站圖片路徑的問題:絕對路徑/虛擬路徑
- (jsp/html)網頁上嵌入播放器(常用播放器代碼整理)
- jsp下顯示中文文件名及絕對路徑下的圖片解決方法
- 相關鏈接:
- 教程說明:
JSP教程-浮動菜單是如何作出來的mouse事件。