ToolTip
2010-06-17 23:48 BlueDream 阅读(929) 评论(0) 收藏 举报
【程序源码】
var tooltip = function() {
function T$(i) { return document.getElementById(i); }
function T$$(e, o) { return (o || document).getElementsByTagName(e); }
var id = 'tt';
var top = 3;
var left = 3;
var speed = 15;
var timer = 20;
var endalpha = 95;
var alpha = 0;
var tt, t, c, b, h;
var ie = document.all ? true : false;
var ct = [
['[名字]:漩涡鸣人',
'[身世]:木叶四代火影波风水门之子。第四代火影把九尾封印在当时还是个婴儿的鸣人体内',
'[忍术]:色诱术(C)是鸣人的第一个自创忍术'],
['[名字]:宇智波佐助',
'[身世]:宇智波一族是《火影忍者》中的火之国木叶忍者村的一个氏族',
'[忍术]:风魔手里剑·影风车'],
['[名字]:旗木卡卡西',
'[身世]:卡卡西、带土、琳都是四代目的部下。作为木叶白牙的儿子,卡卡西是个天才忍者',
'[忍术]:木叶体术奥义 千年杀'],
['[名字]:佩恩',
'[身世]:佩恩是本体长门和他所操纵六道的总称,是一个象征性代号。',
'[忍术]:外道·轮回天生之术'],
['[名字]:我爱罗',
'[身世]:我爱罗是第四代风影之子,也是手鞠和勘九郎的弟弟。',
'[忍术]:守鹤之盾'],
];
return {
init: function(ct) {
var self = this;
var es = T$$('li', T$(id)), i = 0, len = es.length;
for (; i < len; i++) {
es[i].onmouseover = new Function('tooltip.show('+i+')');
es[i].onmouseout = function() { self.hide(); }
}
},
show: function(i) {
var self = this;
if (tt == null) {
tt = document.createElement('div');
tt.setAttribute('id', id);
t = document.createElement('div');
t.setAttribute('id', id + 'top');
c = document.createElement('div');
c.setAttribute('id', id + 'cont');
b = document.createElement('div');
b.setAttribute('id', id + 'bot');
tt.appendChild(t);
tt.appendChild(c);
tt.appendChild(b);
document.body.appendChild(tt);
tt.style.opacity = 0;
tt.style.filter = 'alpha(opacity = 0)';
document.onmousemove = this.pos;
}
tt.style.display = 'block';
h = parseInt(tt.offsetHeight) + top;
T$(id + 'top').innerHTML = ct[i][0];
T$(id + 'cont').innerHTML = ct[i][1];
T$(id + 'bot').innerHTML = ct[i][2];
clearInterval(tt.timer);
tt.timer = setInterval(function() { self.fade(1)}, timer);
},
fade: function(d) {
var a = alpha;
if ((a != endalpha && d == 1) || (a != 0 && d == -1)) {
var i = speed;
if (endalpha - a < speed && d == 1) {
i = endalpha - a;
} else if (alpha < speed && d == -1) {
i = a;
}
alpha = a + (i * d);
tt.style.opacity = alpha * .01;
tt.style.filter = 'alpha(opacity=' + alpha + ')';
} else {
clearInterval(tt.timer);
if (d == -1) { tt.style.display = 'none'; }
}
},
pos: function(e) {
var u = ie ? event.clientY + document.documentElement.scrollTop : e.pageY;
var l = ie ? event.clientX + document.documentElement.scrollLeft: e.pageX;
tt.style.top = (u - h) + 'px';
tt.style.left = (l + left) + 'px';
},
hide: function() {
var self = this;
clearInterval(tt.timer);
tt.timer = setInterval(function() { self.fade(-1) }, timer);
}
};
}();
tooltip.init();
【源码下载】
浙公网安备 33010602011771号