加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

如何让浮动的菜单响应鼠标点击事件的过程是怎么样的呢?

发布时间:2023-07-28 14:43:58 所属栏目:教程 来源:
导读:这个问题由我来做一个最终解答吧。我以前也同样惊异于闪光地带的这个特效,苦恼于不知如何实现。我在经典提问,有一位网友热心解答了我的问题,但只是局限于如何加入和“闪光地带”同样的效果,而且并不完
这个问题由我来做一个最终解答吧。我以前也同样惊异于闪光地带的这个特效,苦恼于不知如何实现。我在经典提问,有一位网友热心解答了我的问题,但只是局限于如何加入和“闪光地带”同样的效果,而且并不完美,实际上这个脚本还可以实现许多效果,不知是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 = "
 
" text "
 
"
 
layerWrite(txt);
 
dir = d;
 
disp();
 
}
 
// Caption popup
 
function dtc(d,text, title) {
 
txt = "
 
" title "
 
" text "
 
"
 
layerWrite(txt);
 
dir = d;
 
disp();
 
}
 
// Sticky
 
function stc(d,text, title) {
 
sw = 1;
 
cnt = 0;
 
txt = "
 
" title " Close
 
" text "
 
"
 
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.CuoXIn.com/allimg/080822/1927350.gif?name=ol2t";
 
bt=new Image(1,1); bt.src="http://p1.CuoXIn.com/allimg/080822/1927351.gif";
 
refnd=new Image(1,1); refnd.src="http://p1.CuoXIn.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用自己的就行了,没必要用他的。最后希望大家能用好这个特效来装点自己的主页,一定要记得好东东要共享哦!!
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!