zoukankan      html  css  js  c++  java
  • JS所谓的享元模式-->

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <style>
        .tooltip {
            300px;
            height:300px;
            background:#f00;
        }
    </style>
    <script>
        var TooltipManager = (function(){
            var storedInstance = null;
            var Tooltip = function(){
                this.delayTimeout = null;
                this.delay = 1500;
    
                this.element = document.createElement('div');
                this.element.style.display = 'none';
                this.element.style.position = 'absolute';
                this.element.className = 'tooltip';
                document.getElementsByTagName('body')[0].appendChild(this.element);
            };
    
            Tooltip.prototype = {
                startDelay : function(e,text){
                    if(this.delayTimeout == null){
                        var  that = this;
                        var x = e.clientX;
                        var y = e.clientY;
                        this.delayTimeout = setTimeout(function(){
                            that.show(x,y,text);
                        },this.delay)
                    }
                },
                show : function(x,y,text){
                    clearTimeout(this.delayTimeout);
                    this.delayTimeout = null;
                    this.element.innerHTML = text;
                    this.element.style.left = x + 'px';
                    this.element.style.top = (y+20) + 'px';
                    this.element.style.display = 'block';
                },
                hide : function(){
                    clearTimeout(this.delayTimeout);
                    this.delayTimeout = null;
                    this.elements.style.display = 'none';
                }
            };
    
            return {
                addTooltip : function(targetElement,text){
                    var tt = this.getTooltip();
                    addEvent(targetElement,'mouseover',function(e){ tt.startDelay(e,text)});
                    addEvent(targetElement,'mouseout',function(e){ tt.hide()})
                },
                getTooltip : function(){
                    if(storedInstance == null){
                        storedInstance = new Tooltip();
                    };
                    return storedInstance;
                }
            }
        }())
    </script>
    </body>
    </html>

    直接上代码了

  • 相关阅读:
    HDU 4972 A simple dynamic programming problem
    dd usb 启动盘制作 成功版本
    1233
    openstack kvm 虚拟机磁盘差异衍生
    怎样安装g++/gdb
    区间最小值 线段树 (2015年 JXNU_ACS 算法组暑假第一次周赛)
    hdu
    TCP/IP解析(一):TCP/IP的工作方式
    使用Python生成源文件的两种方法
    zoj1003 Crashing Balloon
  • 原文地址:https://www.cnblogs.com/diligenceday/p/3428020.html
Copyright © 2011-2022 走看看