JS+DIV实现自定义Title的显示方式

简介:      自定义的title显示方式一直在华夏用,当你的鼠标悬停在带有提示的链接上时会有自定义的显示内容出现,显示的内容支持html代码,但是这个效果不支持firefox及其他浏览器,最近对之进行了改进,终于兼容了FF,Safari。代码如下:   var qTipTag = "a"; //Which tag do you want to qTip-ize? Keep it lowerc
     自定义的title显示方式一直在华夏用,当你的鼠标悬停在带有提示的链接上时会有自定义的显示内容出现,显示的内容支持html代码,但是这个效果不支持firefox及其他浏览器,最近对之进行了改进,终于兼容了FF,Safari。代码如下:
 
var qTipTag = "a"; //Which tag do you want to qTip-ize? Keep it lowercase!//
var qTipX = -30; //This is qTip's X offset//
var qTipY = 25; //This is qTip's Y offset//
 
//There's No need to edit anything below this line//
tooltip = {
  name : "qTip",
  offsetX : qTipX,
  offsetY : qTipY,
  tip : null
}
tooltip.init = function () {
 var tipNameSpaceURI = "
http://www.w3.org/1999/xhtml ";
 if(!tipContainerID){ var tipContainerID = "qTip";}
 var tipContainer = document.getElementById(tipContainerID);
 if(!tipContainer) {
   tipContainer = document.createElementNS ? document.createElementNS(tipNameSpaceURI, "div") : document.createElement("div");
  tipContainer.setAttribute("id", tipContainerID);
   document.getElementsByTagName("body").item(0).appendChild(tipContainer);
 }
 if (!document.getElementById) return;
 this.tip = document.getElementById (this.name);
 if (this.tip) document.onmousemove = function (evt) {tooltip.move (evt)};
 var a, sTitle;
 var anchors = document.getElementsByTagName (qTipTag);
 for (var i = 0; i < anchors.length; i ++) {
  a = anchors[i];
  sTitle = a.getAttribute("title");
  if(sTitle) {
   a.setAttribute("tiptitle", sTitle);
   a.removeAttribute("title");
   a.onmouseover = function() {tooltip.show(this.getAttribute('tiptitle'))};
   a.onmouseout = function() {tooltip.hide()};
  }
 }
}
tooltip.move = function (evt) {
 var x=0, y=0;
 if (document.all) {//IE
  x = (document.documentElement && document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
  y = (document.documentElement && document.documentElement.scrollTop) ? document.documentElement.scrollTop : document.body.scrollTop;
  x += window.event.clientX;
  y += window.event.clientY;
  
 } else {//Good Browsers
  x = evt.pageX;
  y = evt.pageY;
 }
 this.tip.style.left = (x + this.offsetX) + "px";
 this.tip.style.top = (y + this.offsetY) + "px";
}
tooltip.show = function (text) {
 if (!this.tip) return;
 this.tip.innerHTML = text;
 this.tip.style.display = "block";
}
tooltip.hide = function () {
 if (!this.tip) return;
 this.tip.innerHTML = "";
 this.tip.style.display = "none";
}
window.onload = function () {
 tooltip.init ();
}
 
css样式:
/*tip div*/
div#qTip{
  border: 1px solid #99CC33;
  border-right-width: 2px;
  border-bottom-width: 2px;
  display: none;
  background: #fff;
  color: #000;
  font: 13px Verdana, Arial, Helvetica, sans-serif;
  text-align: left;
  position: absolute;
  z-index: 1000;
  padding: 8px;
}
 
相关文章
|
4月前
|
开发框架 前端开发 JavaScript
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
在Vue&Element前端项目中,使用FastReport + pdf.js生成并展示自定义报表
|
6月前
|
前端开发 JavaScript
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
使用JavaScript实现复杂功能:构建一个自定义的拖拽功能
|
3月前
|
存储 前端开发 JavaScript
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
javascript 异常问题之为自定义异常提供丰富的上下文信息如何实现
|
18天前
|
JavaScript 前端开发
js怎么获取div里面的文字长度
js怎么获取div里面的文字长度
44 5
|
18天前
|
移动开发 JavaScript 前端开发
原生js如何获取dom元素的自定义属性
原生js如何获取dom元素的自定义属性
36 4
|
2月前
|
JavaScript 前端开发
网页前端课程设计-【模仿】香港中文大学官网,轮播图及div+css布局,js的dom操作
这篇文章介绍了如何模仿香港中文大学官网进行网页前端课程设计,包括使用div+css布局、js的DOM操作以及实现轮播图等技术细节。
|
3月前
|
前端开发 程序员
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
一年一度的520情人节/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)。赶紧学会了,来制作属于我们程序员的浪漫吧!
69 0
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
|
3月前
|
JavaScript 前端开发
js怎么获取div里面的文字长度
js怎么获取div里面的文字长度
43 3
|
3月前
|
前端开发 微服务 API
微服务浪潮下的JSF革新:如何在分散式架构中构建统一而强大的Web界面
【8月更文挑战第31天】随着微服务架构的兴起,企业将应用拆分成小型、独立的服务以提高系统可维护性和可扩展性。本文探讨如何在微服务架构下构建和部署JavaServer Faces (JSF) 应用,通过RESTful服务实现前后端分离,提升灵活性和适应性。
56 0
|
3月前
|
JavaScript 前端开发 数据安全/隐私保护
Vue.js 表单处理技巧大揭秘!v-model 与自定义验证综合运用,打造高效表单处理体验!
【8月更文挑战第31天】Vue.js 是一款备受欢迎的前端框架,其表单处理功能强大且灵活。v-model 指令可实现双向数据绑定,简化表单元素值与 Vue 实例数据的同步过程;结合自定义验证规则,则能确保用户输入数据符合特定要求。无论是简单的单字段校验还是复杂的多字段验证,Vue.js 均提供了简洁有效的解决方案,有效提升了表单处理效率及用户体验。通过综合运用 v-model 和自定义验证,开发者能够实时反馈错误信息并控制表单状态,从而增强应用的交互性与可靠性。
51 0