Tootip小程序,整理一下自己用

需求:给表单每个信息项添加一个帮助信息,当mouseover或focus时激活帮助信息
效果:如下图所示


程序实现:

/*
    2007-01-30 lisq custom tooltip
    use age:
    <script src="/modules/commons/js/prototype.js"></script>
    <script src="/modules/commons/js/tooltip.js"></script>
    var config = new ToolTip.Config($('A0101'), '人员姓名', 400)
    var arrConfig = []
    arrConfig.push(config)
    var tootip = ToolTip.Init(arrConfig)
*/
Event.observe(window, 'load', 
function(){
    
var div = document.createElement('div')
    div.id 
= 'ToolTipID'
    
var divIntroTopLine = document.createElement('div')
    divIntroTopLine.id 
= 'divIntroTopLine'
    div.appendChild(divIntroTopLine)
    
    
var divIntroArrow = document.createElement('div')
    divIntroArrow.id 
= 'divIntroArrow'
    divIntroTopLine.appendChild(divIntroArrow)

    
var divIntroContent = document.createElement('div')
    divIntroContent.id 
= 'divIntroContent'
    divIntroContent.innerHTML 
= 'hello world'
    div.appendChild(divIntroContent)
    
    ToolTip.Container 
= div
    ToolTip.ContainerContent 
= divIntroContent
    document.body.appendChild(div)
    Element.hide(div)
}, 
false)

var ToolTip = {
    Config : 
function(ele, tip, width){
        
this.ele = ele
        ele.config 
= this
        
this.tip = tip
        
this.width = width
    },
    Init : 
function(arrConfig){
        
for(var i=0; i<arrConfig.length; i++){
            
var config = arrConfig[i]
            
if(!config || !config.ele || !config.tip)
                
continue
            config.ele.tip 
= config.tip
            config.ele.onmouseover 
= ToolTip.MouseOver
            config.ele.onmouseout 
= ToolTip.MouseOut
            config.ele.onfocus 
= ToolTip.MouseOver
            config.ele.onblur 
= ToolTip.MouseOut
        }
    },
    MouseOver : 
function(){
        ToolTip.Container.style.width 
= this.config.width
        ToolTip.ContainerContent.innerHTML 
= this.tip
        
var arr = Position.positionedOffset(this)
        eToolTip 
= $('ToolTipID')
        eToolTip.style.left 
= arr[0- 50
        eToolTip.style.top 
= arr[1+ 21
        Element.show(eToolTip)
    },
    MouseOut : 
function(){
        eToolTip 
= $('ToolTipID')
        Element.hide(eToolTip)
    }
}

调用:
var config = new ToolTip.Config(fieldInput, field.HelpInfo, 150)
            ToolTip.Init([config])
posted @ 2007-06-15 15:01 布尔 阅读(745) 评论(4)  编辑 收藏 网摘 所属分类: Javascript

  回复  引用  查看    
#1楼 2007-06-29 09:29 | silverlightfans      
Hi,请问你的支持ff吗?
  回复  引用  查看    
#2楼 [楼主]2007-06-29 12:32 | 布尔      
@silverlightfans 没有测试,不过我想不到有什么冲突的,回头测试一下。

  回复  引用  查看    
#3楼 2007-07-04 16:36 | endision      
GOOD
  回复  引用  查看    
#4楼 2007-07-04 16:55 | ╃小〥斌╄      
写的不错, 支持。

测试结果~ IE7 FF 效果还是有点差别的, 出现的位置有偏差。

另外最好加入对象check, 还有字符串超长的处理

不过总的来说 挺好。 毕竟也是自己用的。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-06-16 08:36 编辑过
Google站内搜索
[推荐职位]上海盛大网络招聘架构师



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: