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>

    直接上代码了

  • 相关阅读:
    httprunner-2-linux下搭建hrun(下)
    Docker学习3-简单shell脚本安装mysql5.7与docker小技巧
    功能测试--聊天功能测试&微信聊天
    Fiddler抓包3-查看get与post请求
    面向对象--继承
    Mybatis入门
    Maven基础
    Cookie&Session
    Redis应用
    Redis概念和安装
  • 原文地址:https://www.cnblogs.com/diligenceday/p/3428020.html
Copyright © 2011-2022 走看看