计划了好久,本来想写一个好一点的提示插件,先来看一下效果图,也就是我要作成什么样子
最终会是这样子的,看起来还是比较容易的,因为我好久没有写过javascript的了,有很多东西都记不起来了。
做一个这样的效果应该要用到如下的的知识
(1)用css投作出一个不规则的形状来。
(2)用javascript生成一个<frame>,把作好的那过不规则的块置于frame上面,要用绝对定位
(3)要计算好这个提示块应该显示到哪个位置,这就要计算元素位置的问题。
(4)当文本框获得焦点时就出现提示框,当文本框失去焦点时,提示框应该消失,这就要处理事件的冒泡的关系。
因此必须有用css制作一个不规则形状的知识,能在页面对元素的位置进行计算的知识,能对javascript的事件冒泡的知识,就可以完成如下的功能。
我想把我对在自已写这个东西时候的方式记录起来,希望有的牛人给我提出意见。
第一,必须清楚一个元素的位置
用如下方法可以得知道一个元素在页面中的位置
function getXY(o)
{
var t = o.offsetTop;
var l = o.offsetLeft;
while(o = o.offsetParent)
{
t += o.offsetTop;
l += o.offsetLeft;
}
var pos = {0:l,1:t};
return pos;
}