一个非常简单的可自定义的工具提示效果,只有一个可选参数为延迟出现的时间,默认为无延迟。
/******************************
*
* Name: toolTips
* Author: Aken li
* Date: 2008.07.10
* Blog: www.kxbd.com
*
******************************/
var toolTips = Class.create();
toolTips.prototype = {
initialize:function(delayDur){
this.wrapperId = "toolTipsWrapper";
this.show = false;
this.xGap = 10;
this.yGap = 10;
this.opacity = 0.9;
this.delayDur = delayDur || 0;
this.init();
},
init:function() {
this.insertWrapper();
document.observe("mouseover", this.showToolTips.bind(this));
document.observe("mouseout", this.hideToolTips.bind(this));
document.observe("mousemove", this.moveToolTips.bind(this));
},
insertWrapper:function() {
$(document.body).insert(new Element("div",{'id':this.wrapperId,'style':'position: absolute;display: none;width:auto;z-index: 10000;'}));
$(this.wrapperId).setStyle({opacity:this.opacity});
},
showToolTips:function(e) {
var el = e.element();
var o = $(this.wrapperId);
if(el.title){
el.toolTip = el.title;
el.title = "";
};
if(el.toolTip){
o.update(el.toolTip).show.bind(o).delay(this.delayDur);
this.show = true;
}
},
hideToolTips:function(e) {
var el = e.element();
var o = $(this.wrapperId);
o.setStyle({left:"-1000px",display:"none"})
this.show = false;
},
moveToolTips:function(e) {
if(this.show){
var x = e.pointerX();
var y = e.pointerY();
var x1 = this.xGap;
var y1 = this.yGap;
var o = $(this.wrapperId);
var dims = o.getDimensions();
var oW = dims.width;
var oH = dims.height;
var docDims = document.viewport.getDimensions();
var docW = docDims.width;
var docH = docDims.height;
var docScroll = document.viewport.getScrollOffsets();
var docLeft = docScroll.left;
var docTop = docScroll.top;
//var posX=(x+x1+oW-docLeft>docW) ? docW+docLeft-oW : x+x1;
//var posY=(y+y1+oH-docTop>docH) ? docH+docTop-oH : y+y1;
var posX=(x+x1+oW-docLeft>docW) ? x-oW-x1 : x+x1;
var posY=(y+y1+oH-docTop>docH) ? y-oH-y1 : y+y1;
o.setStyle({
left: posX+"px",
top: posY+"px"
})
}
}
};
转自: http://www.kxbd.com/article.asp?id=218
分享到:
相关推荐
【标题】"tool-tips:带有工具提示的简单 d3 存储库"指的是一个专门用于创建具有工具提示功能的D3.js(Data-Driven Documents)项目。D3.js 是一个强大的JavaScript库,用于在浏览器中操作数据并生成动态、交互式的...
本教程将聚焦于AJAX如何实现Tool Tips功能,即鼠标悬停时显示相关信息的小提示框。 在网页设计中,Tool Tips通常用于提供额外的上下文信息,当用户将鼠标指针悬停在某个元素上时,它们会短暂地显示出来。AJAX可以...
jQuery作为目前最受欢迎的JavaScript库之一,拥有大量成熟的插件,可以让开发者轻松实现各种效果的工具提示。 本文将详细介绍20款非常优秀的jQuery工具提示插件,它们可以在不同场合下满足开发者的各种需求。以下是...
Chrome-Developer-Tool-Bar-Tips Chrome 开发者工具栏隐藏的技巧和窍门提示 1:漂亮的打印{}: Chrome 有一个漂亮的打印功能,它将采用缩小的 JavaScript 文件并格式化它的属性。 您需要做的就是单击底部工具栏上的...
在网页设计中,为了增强用户体验,常常需要对某些元素添加提示信息,比如鼠标悬停时显示的工具提示(tooltip)。传统的HTML `title` 属性可以实现这一功能,但其样式较为简单,无法满足设计师们对美观和定制化的需求...
Mootools 1.2是一个强大的JavaScript库,其中的Tooltips功能提供了便捷的方法来创建动态、可定制的工具提示,增强了用户交互体验。本教程将深入讲解如何创建、自定义以及管理工具提示。 ### 基础知识:创建工具提示...
#### 十四、提示工具(Tool Tips) 虽然原文未提及具体插件,但提示工具通常指当鼠标悬停在某个元素上时显示的浮动文本框,这类插件可以增强用户界面的友好性,帮助用户更好地理解页面上的元素。 以上列举的jQuery...