`
esteem
  • 浏览: 156616 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

JS 工具提示效果(tool tips)

阅读更多
一个非常简单的可自定义的工具提示效果,只有一个可选参数为延迟出现的时间,默认为无延迟。
/******************************
*
* Name: toolTips
* Author: Aken li
* Date: 2008.07.10
* Blog: www.kxbd.com
*
******************************/
var toolTips = Class.create();
toolTips.prototype = {
    initialize:function(delayDur){
        this.wrapperId = "toolTipsWrapper";
        this.show = false;
        this.xGap = 10;
        this.yGap = 10;
        this.opacity = 0.9;
        this.delayDur = delayDur || 0;
        this.init();
    },

    init:function() {
        this.insertWrapper();
        document.observe("mouseover", this.showToolTips.bind(this));
        document.observe("mouseout", this.hideToolTips.bind(this));
        document.observe("mousemove", this.moveToolTips.bind(this));
    },

    insertWrapper:function() {
        $(document.body).insert(new Element("div",{'id':this.wrapperId,'style':'position: absolute;display: none;width:auto;z-index: 10000;'}));
        $(this.wrapperId).setStyle({opacity:this.opacity});
    },

    showToolTips:function(e) {
        var el = e.element();
        var o = $(this.wrapperId);
        if(el.title){
            el.toolTip = el.title;
            el.title = "";
        };
        if(el.toolTip){
            o.update(el.toolTip).show.bind(o).delay(this.delayDur);
            this.show = true;
        }
    },

    hideToolTips:function(e) {
        var el = e.element();
        var o = $(this.wrapperId);
        o.setStyle({left:"-1000px",display:"none"})
        this.show = false;
    },

    moveToolTips:function(e) {
        if(this.show){
            var x = e.pointerX();
            var y = e.pointerY();
            var x1 = this.xGap;
            var y1 = this.yGap;
            var o = $(this.wrapperId);
            var dims = o.getDimensions();
            var oW = dims.width;
            var oH = dims.height;
            var docDims = document.viewport.getDimensions();
            var docW = docDims.width;
            var docH = docDims.height;
            var docScroll = document.viewport.getScrollOffsets();
            var docLeft = docScroll.left;
            var docTop = docScroll.top;
           
            //var posX=(x+x1+oW-docLeft>docW) ? docW+docLeft-oW : x+x1;
            //var posY=(y+y1+oH-docTop>docH) ? docH+docTop-oH : y+y1;

            var posX=(x+x1+oW-docLeft>docW) ? x-oW-x1 : x+x1;
            var posY=(y+y1+oH-docTop>docH) ? y-oH-y1 : y+y1;

            o.setStyle({
                left: posX+"px",
                top: posY+"px"
            })
        }
    }
};

转自: http://www.kxbd.com/article.asp?id=218
分享到:
评论

相关推荐

    tool-tips:带有工具提示的简单 d3 存储库

    【标题】"tool-tips:带有工具提示的简单 d3 存储库"指的是一个专门用于创建具有工具提示功能的D3.js(Data-Driven Documents)项目。D3.js 是一个强大的JavaScript库,用于在浏览器中操作数据并生成动态、交互式的...

    站长工具源码/tool站长工具箱/在线工具/站长工具源代码

    站长工具源码,站长工具箱,站长工具源代码 效果演示:tool-www.ygwzjs.cn 此工具箱系统源码还是比较成熟的,虽然没有那么花里胡哨,但贵在简洁大方,全工具都可以在线运行...站长工具源码/tool站长工具箱/站长工具源代码

    mstar isp 烧录工具 ISP-Tool-5.0.13

    【mstar isp 烧录工具 ISP-Tool-5.0.13】是一款专为MStar(晨星半导体)芯片设计的ISP(In-System Programming,在系统编程)烧录工具,主要用于对采用MStar芯片的设备进行固件升级、调试和测试。这款工具在电视、机...

    AJAX基础教程-8 Tool Tips

    本教程将聚焦于AJAX如何实现Tool Tips功能,即鼠标悬停时显示相关信息的小提示框。 在网页设计中,Tool Tips通常用于提供额外的上下文信息,当用户将鼠标指针悬停在某个元素上时,它们会短暂地显示出来。AJAX可以...

    TCP&UDP调试工具 SocketTool

    SocketTool是一款强大的网络调试工具,专门用于TCP和UDP协议的测试与分析。它为开发者提供了便利的接口,以便于在应用程序中实现网络通信功能的调试和验证。在IT行业中,理解TCP和UDP这两种传输层协议至关重要,因为...

    校验和计算工具CheckTool

    《全面解析:校验和计算工具CheckTool》 在信息技术领域,数据的完整性和准确性至关重要。为了确保数据在传输或存储过程中不被篡改,我们通常会借助校验和计算工具进行验证。本文将深入探讨名为"CheckTool"的校验和...

    VC++6.0修复工具(FileTool)

    **VC++6.0修复工具(FileTool)详解** 在编程世界中,Microsoft Visual C++ 6.0(简称VC++6.0)是一款经典的集成开发环境(IDE),深受许多开发者喜爱,尤其对于初学者来说,它简洁的界面和易用性使其成为学习C++的...

    国密算法工具smartTool软件算法测试工具国密SM-Tools可用于国密算法辅助测试.zip

    《国密算法工具SmartTool:助力国密算法测试与应用》 国密算法工具SmartTool是一款专门用于国密算法辅助测试的专业软件,它涵盖了对称和非对称算法的全面测试,是确保我国信息安全领域中关键算法正确性和安全性的...

    脱壳工具 Unpacker AIO Tool

    软件/插件标签提示我们,Unpacker AIO Tool可能作为一个独立的应用程序运行,或者它可以作为其他分析平台的一个组件,通过接口与其他工具协同工作,提升整体的逆向分析能力。这种灵活性使得它在处理各种复杂情况时都...

    Js 美化排版工具(Js Beautify Tool)

    Js Beautify Tool是一款专门针对JavaScript代码设计的美化和格式化工具,它可以帮助开发者将混乱无章的代码整理得井井有条,提升代码的可读性和团队协作效率。这款工具的主要功能包括: 1. **代码格式化**:自动...

    【TCP、UDP调试工具】SocketTool4.0

    SocketTool是一款TCP/UDP调试工具,可以帮助你检查网络应用软件及硬件的通讯情况,可以创建创建Socket服务器,创建UDP组播地址及端口,创建UDP Client客户端,可指定对方IP和端口,本地端口,有需要的赶快下载吧!

    TIA博途选型工具TIA Selection Tool-2023最新(无需安装可直接使用).txt

    ### TIA博途选型工具TIA Selection Tool_2023最新版 #### 工具简介 TIA博途选型工具(TIA Selection Tool)是西门子公司推出的一款针对其工业自动化产品的选型软件。该工具为用户提供了简单快捷的方式来进行产品...

    mstar isp 烧录工具 ISP_Tool_5.0.0

    ISP_Tool_5.0.0是一款专为MStar(晨星半导体)ISP(Image Signal Processor,图像信号处理器)设计的烧录工具。该工具主要用于更新和管理ISP驱动板上的固件,确保图像处理硬件能够正常运行,并达到最优的图像质量。...

    USB报告描述符自动生成工具 HID Descriptor tool

    标题中的“USB报告描述符自动生成工具 HID Descriptor tool”是一个专为USB设备设计的辅助开发工具,主要用于生成符合HID(Human Interface Device)规范的设备描述符。HID是USB设备类规范的一部分,广泛应用于键盘...

    rockchip linux刷机工具upgrade_tool

    7. 完成后断开连接:升级完成后,工具会给出提示,此时可以安全地断开设备与计算机的连接。 值得注意的是,刷机有风险,如果操作不当,可能导致设备无法正常使用。因此,在进行任何固件升级之前,一定要仔细阅读...

    国密算法工具smartTool软件,算法测试工具,可用于国密算法辅助测试.zip

    国密算法工具smartTool软件,算法测试工具,可用于国密算法辅助测试,包括对称及非对称算法。

    Rockchip固件烧录工具AndroidTool_Release及使用说明

    Rockchip固件烧录工具AndroidTool_Release是一款专为基于Rockchip处理器的设备设计的系统烧录工具,主要用于更新和恢复设备的固件。这个工具包含了Rockchip设备的固件升级所需的所有必要组件,包括驱动程序和用户...

    网络环境检测工具 MBIM Tool

    **网络环境检测工具 MBIM Tool** MBIM(Mobile Broadband Interface Model)是一种接口规范,用于在移动设备上实现宽带连接,如3G、4G、5G等。它定义了操作系统与调制解调器之间的通信协议,允许操作系统管理网络...

    字库生成工具 guitool(Trial) Setup 1.13版本.rar

    字库生成工具 guitool(Trial) Setup 1.13版本 字库生成工具 guitool(Trial) Setup 1.13版本字库生成工具 guitool(Trial) Setup 1.13版本字库生成工具 guitool(Trial) Setup 1.13版本

    TSC打印机设置工具(Diagnostic Tool)

    Diagnostic Tool是一款简单好用的打印机设置工具,该软件是专门针对TSC型号的条码打印机精心设计的,目前分为四种功能分别是打印机设定、档案管理、点阵字工具、通讯工具,在这四项功能中,最实用的功能是打印机设定...

Global site tag (gtag.js) - Google Analytics