zoukankan      html  css  js  c++  java
  • A better Tooltip with jQuery

    在国外的一个网站上看到了一份不错的jQuery 插件,主要是样式挺好的,于是转了过来方便以后需要是拿来用之.... 

    预览一下:

     

    文件主要文件及目录:

    • Images folder contains the following images:
    • – - tipTip.png – created in Step 2
    • – - tipMid.png – created in Step 2
    • – - tipBtm.png – created in Step 2
    • style.css – created in Step 3
    • jquery-1.3.1.min.js – download this here
    • jquery.betterTooltip.js – – created in Step 5

     三个图片切片位置为:

    由于是PNG格式,IE支持不是很好,载入的时候边框会黑一下,然后才会用图片填充(我刚用IE8 也是这样)

    看了别人的回复后说有个 ie_pngfix 的东东,以后再研究一下...

    如果实在不行,我不用PNG还不行....O(∩_∩)O哈哈~ 

    CSS 主要文件如下:

    代码
    .tip {  
        width
    : 212px;  
        padding-top
    : 37px;  
        display
    : none;  
        position
    : absolute;  
        background
    : transparent url(images/tipTop.png) no-repeat top;}  
      
    .tipMid 
    {background: transparent url(images/tipMid.png) repeat-y; padding: 0 25px 20px 25px;}  
    .tipBtm 
    {background: transparent url(images/tipBtm.png) no-repeat bottombottom; height: 32px;}  

    jQeury:

    代码
    $.fn.betterTooltip = function(options){  
      
            
    /* Setup the options for the tooltip that can be 
               accessed from outside the plugin              
    */  
            
    var defaults = {  
                speed: 
    200,  
                delay: 
    300  
            };  
      
            
    var options = $.extend(defaults, options);  
      
            
    /* Create a function that builds the tooltip 
               markup. Then, prepend the tooltip to the body 
    */  
            getTip 
    = function() {  
                
    var tTip =  
                
    "<div class='tip'>" +  
                    
    "<div class='tipMid'>"    +  
                    
    "</div>" +  
                    
    "<div class='tipBtm'></div>" +  
                
    "</div>";  
                
    return tTip;  
            }  
            $(
    "body").prepend(getTip());  
      
            
    /* Give each item with the class associated with 
               the plugin the ability to call the tooltip    
    */  
            $(
    this).each(function(){  
      
                
    var $this = $(this);  
                
    var tip = $('.tip');  
                
    var tipInner = $('.tip .tipMid');  
      
                
    var tTitle = (this.title);  
                
    this.title = "";  
      
                
    var offset = $(this).offset();  
                
    var tLeft = offset.left;  
                
    var tTop = offset.top;  
                
    var tWidth = $this.width();  
                
    var tHeight = $this.height();  
      
                
    /* Mouse over and out functions*/  
                $
    this.hover(function() {  
                    tipInner.html(tTitle);  
                    setTip(tTop, tLeft);  
                    setTimer();  
                },  
                
    function() {  
                    stopTimer();  
                    tip.hide();  
                }  
            );           
      
            
    /* Delay the fade-in animation of the tooltip */  
            setTimer 
    = function() {  
                $
    this.showTipTimer = setInterval("showTip()", defaults.delay);  
            }  
      
            stopTimer 
    = function() {  
                clearInterval($
    this.showTipTimer);  
            }  
      
            
    /* Position the tooltip relative to the class 
               associated with the tooltip                
    */  
            setTip 
    = function(top, left){  
                
    var topOffset = tip.height();  
                
    var xTip = (left-30)+"px";  
                
    var yTip = (top-topOffset-60)+"px";  
                tip.css({
    'top' : yTip, 'left' : xTip});  
            }  
      
            
    /* This function stops the timer and creates the 
               fade-in animation                          
    */  
            showTip 
    = function(){  
                stopTimer();  
                tip.animate({
    "top""+=20px""opacity""toggle"}, defaults.speed);  
            }  
        });  
    };  

    示例代码:

      <html xmlns="http://www.w3.org/1999/xhtml"> 

    <head>     
        
    <link href="theme/style.css" rel="stylesheet" type="text/css" media="all" /> 
        
    <script type="text/javascript" src="js/jquery-1.3.1.min.js"></script> 
        
    <script type="text/javascript" src="js/jquery.betterTooltip.js"></script> 
        
    <script type="text/javascript"> 
            $(document).ready(
    function(){
                $(
    '.tTip').betterTooltip({speed: 150, delay: 300});
            });
        
    </script> 
        
        
    </head> 
    <body>     
        
            
    <div class="tTip" title="The letter T. ">What's the difference between here and there?</div> 
          
             
    <href="#" title="http://flynn.cnblogs.com">My Blog</a>
    </body> 
    </html>

    源文件下载:点击下载

    Demo 地址: 浏览Demo

    原文地址:点击浏览 

  • 相关阅读:
    mysql TO_DAYS()函数
    MySQL year函数
    protobuff java 包编译(Windows)
    苹果笔记本只有电源键能用的解决办法
    linux普通用户获取管理员权限
    linux用户管理
    基于ASIHTTPRequest封装的HttpClient
    Object-C 多线程中锁的使用-NSLock
    appstore 上传需要的icon
    iPhone之IOS5内存管理(ARC技术概述)
  • 原文地址:https://www.cnblogs.com/Flynn/p/1749747.html
Copyright © 2011-2022 走看看