客户端脚本实现ToolTip

 

ToolTip:

var  format  =   ' {0} {1} ' ;
document.body.onmouseover 
=   function ()
{
    
var srcElmt = event.srcElement;
    
if ( !srcElmt.tagName || !srcElmt.innerText || srcElmt.tagName == 'BODY')
    
{
        
return;
    }

    
if ( srcElmt.offsetWidth < srcElmt.scrollWidth )
    
{
        
if ( !srcElmt.__title )
        
{
            
if ( srcElmt.title == srcElmt.innerText )
            
{
                
return;
            }

            
if ( srcElmt.title )
            
{
                srcElmt.__title 
= srcElmt.title;
            }

        }

        
if ( srcElmt.__title )
        
{
            srcElmt.title 
= StringHelper.Format(format, srcElmt.__title, srcElmt.innerText);
        }

        
else
        
{
            srcElmt.title 
= srcElmt.innerText;
        }

    }

    
else
    
{
        
if ( srcElmt.__title )
        
{
            srcElmt.title 
= srcElmt.__title;
            srcElmt.__title 
= null;
        }

        
else
        
{
            
if ( srcElmt.title == srcElmt.innerText )
            
{
                srcElmt.title 
= '';
            }

        }

    }

}
;    

 

StringHelper:

StringHelper.Format  =  function(format)
 
{
    
if ( arguments.length == 0 )
    
{
        
return '';
    }

    
if ( arguments.length == 1 )
    
{
        
return String(format);
    }


    var strOutput 
= '';
    
for ( var i=0 ; i < format.length-1 ; )
    
{
        
if ( format.charAt(i) == '{' && format.charAt(i+1!= '{' )
        
{
            var index 
= 0, indexStart = i+1;
            
for ( var j=indexStart ; j <= format.length-2 ; ++j )
            
{
                var ch 
= format.charAt(j);
                
if ( ch < '0' || ch > '9' ) break;
            }

            
if ( j > indexStart )
            
{
                
if ( format.charAt(j) == '}' && format.charAt(j+1!= '}' )
                
{
                     
for ( var k=j-1 ; k >= indexStart ; k-- )
                     
{
                         index 
+= (format.charCodeAt(k)-48)*Math.pow(10, j-1-k);
                     }
  
                    var swapArg 
= arguments[index+1];
                    strOutput 
+= swapArg;
                    i 
+= j-indexStart+2;
                    
continue;
                }

            }

            strOutput 
+= format.charAt(i);
            i
++;
        }

        
else
        
{
            
if ( ( format.charAt(i) == '{' && format.charAt(i+1== '{' )
                
|| ( format.charAt(i) == '}' && format.charAt(i+1== '}' ) )
            
{
                i
++
            }

            strOutput 
+= format.charAt(i);
            i
++;
        }

    }

    strOutput 
+= format.substr(i);
    
return strOutput;
 }
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值