JavaScript实现的浮动层框架用法实例分析


Posted in Javascript onOctober 10, 2015

本文实例讲述了JavaScript实现的浮动层框架用法。分享给大家供大家参考。具体如下:

这是一个JavaScript编写的浮动层框架,作为框架来说,骨干已经完成了。可以实现“类”、“构造函数”、“继承”(木有实现多继承)、“静态方法”、“重载”(木有实现多态),对我来说主要的意义就是,我喜欢这种代码风格,可以非常简单的重用和二次开发。

运行效果截图如下:

JavaScript实现的浮动层框架用法实例分析

在线演示地址如下:

具体代码如下:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Hutia Javascript Framework</title>
<script>
function ClassAdapter(a) {
 var d, c = a || new Function, b = void 0, f = Math.random();
 d = function(b) {
  this.constructor = c;
  this["class"] = d;
  for(var a in e) {
   this[a] = e[a]
  }
  var f;
  b != "<\!-- /* n@o!t#h$i(n&g1 4l5i7k9e24- th69at9 - hutia */ --\>" && (f = c.apply(this, arguments));
  f = f || this;
  if(f != this) {
   for(a in this) {
    f[a] = this[a]
   }
   f.constructor = c
  }
  return f
 };
 var e = {su:function() {
  var b = this["class"].get_parent();
  if(!b) {
   return null
  }
  this.su = function(a) {
   return b.prototype[a].apply(this, Array.prototype.slice.apply(arguments).slice(1))
  };
  return b.get_constructor().apply(this, arguments)
 }, get_class:function() {
  return this["class"]
 }, same_instanceof:function(b, a) {
  if(!b || !b.get_class) {
   return!1
  }
  return this["class"][a ? "equals" : "is_descent"](b.get_class())
 }, is_instanceof:function(b, a) {
  return this["class"][a ? "equals" : "is_descent"](b)
 }, trace:function(b) {
  if(typeof window == "undefined") {
   return this.out(b && b.description || b)
  }
  if(!window.__log__) {
   window.__log__ = []
  }
  window.__log__.push(b && b.description || b)
 }, out:function(b) {
  typeof alert != "undefined" ? alert(b) : typeof WScript != "undefined" && WScript.Echo(b)
 }}, a = {is_class:!0, extend:function(b) {
  b = new ClassAdapter(b || c);
  b.set_parent(d);
  b.prototype = new d("<\!-- /* n@o!t#h$i(n&g1 4l5i7k9e24- th69at9 - hutia */ --\>");
  return b
 }, equals:function(b) {
  if(!b || !b.is_class) {
   return!1
  }
  return f == b.get_clsid()
 }, is_descent:function(a) {
  if(!a || !a.is_class) {
   return!1
  }
  if(f == a.get_clsid()) {
   return!0
  }
  for(var c = b;c;) {
   if(c.equals(a)) {
    return!0
   }
   c = c.get_parent()
  }
  return!1
 }, is_instance:function(b, a) {
  return b && b.is_instanceof ? b.is_instanceof(this, a) : !1
 }, method:function(b, a) {
  if(arguments.length == 1) {
   for(var c in b) {
    d.prototype[c] = b[c]
   }
  }else {
   d.prototype[b] = a
  }
  return d
 }, _default:function(b, a) {
  if(arguments.length == 1) {
   for(var c in b) {
    d.prototype[c] = b[c]
   }
  }else {
   d.prototype[b] = a
  }
  return d
 }, _statics:function(b, a) {
  if(arguments.length == 1) {
   for(var c in b) {
    d[c] = b[c]
   }
  }else {
   d[b] = a
  }
  return d
 }, get_constructor:function() {
  return c
 }, set_constructor:function(b) {
  c = b
 }, get_parent:function() {
  return b
 }, set_parent:function(a) {
  b = a
 }, get_clsid:function() {
  return f
 }, toString:function() {
  return String(c)
 }, valueOf:function() {
  return String(c)
 }};
 d.prototype = e;
 for(var h in a) {
  d[h] = a[h]
 }
 return d
}
function Class(a) {
 function d() {
  if(++a.err_count > a.max_err) {
   var b;
   a.onerror && (b = a.onerror());
   return b
  }
  a.recall_timer = setTimeout(function() {
   Class(a)
  }, a.retry_interval || 100)
 }
 if(!a) {
  return new ClassAdapter
 }
 var c;
 c = void 0;
 if(!Class.hash_list) {
  Class.hash_list = {}
 }
 a.namespace = a.namespace || window;
 a.err_count |= 0;
 a.max_err = a.max_err || 5;
 a.name = a.name || "$" + (new Date).getTime().toString(36) + (Math.random() * 16777215 | 0).toString(36);
 a.recall_timer = null;
 Class.hash_list[a.name] = a;
 if(a.requires) {
  if(typeof a.requires == "string") {
   a.requires = [a.requires]
  }
  for(var b in a.requires) {
   if("undefined" == typeof a.namespace[a.requires[b]]) {
    return d()
   }
  }
 }
 if(a.parent) {
  if("undefined" == typeof a.namespace[a.parent]) {
   return d()
  }
  a.parent = a.namespace[a.parent]
 }
 if(typeof a == "function") {
  c = a
 }else {
  if(a.init) {
   c = a.init
  }
 }
 c = a.parent ? a.parent.extend(c) : new ClassAdapter(c);
 a.method && c.method(a.method);
 a._default && c._default(a._default);
 a._statics && c._statics(a._statics);
 a.namespace[a.name] = c;
 a.ready && a.ready()
}
Class.is_ready = function(a) {
 if(Class.hash_list && Class.hash_list[a] && !Class.hash_list[a].recall_timer) {
  return!0
 }
 return!1
};
Class.ready = function(a, d, c) {
 function b() {
  var c = !0;
  if(d) {
   for(var f in d) {
    if(!Class.hash_list[d[f]] || Class.hash_list[d[f]].recall_timer) {
     c = !1;
     break
    }
   }
  }else {
   for(f in Class.hash_list) {
    if(Class.hash_list[f].recall_timer) {
     c = !1;
     break
    }
   }
  }
  if(!c) {
   return setTimeout(b, 10)
  }
  a()
 }
 var f;
 typeof d == "string" && (d = [d]);
 c ? (f = window.onload, window.onload = function() {
  setTimeout(b, 1);
  typeof f == "function" && f()
 }) : setTimeout(b, 1)
};
(function() {
 Class({name:"SingleHash", init:function() {
  this.data = {}
 }, method:{add:function(a) {
  this.data[a] = a;
  return this
 }, remove:function(a) {
  delete this.data[a];
  return this
 }, each:function(a) {
  for(var d in this.data) {
   a(this.data[d])
  }
 }, invoke:function(a) {
  var d = Array.prototype.slice.call(arguments, 1), c = void 0, b;
  for(b in this.data) {
   typeof this.data[b] == "function" && (c = this.data[b].apply(a || this, d))
  }
  return c
 }, clear:function() {
  this.data = {}
 }, contains:function(a) {
  return!!this.data[a]
 }}})
})();
(function() {
 Class({parent:"SingleHash", name:"Event", init:function(a) {
  var d = function(c) {
   return d.invoke(a || this, c)
  };
  d.data = {};
  return d
 }})
})();
(function() {
 Class({parent:"HTML", name:"Stylesheet", init:function(a) {
  if(a != "-=^&%$#$") {
   var d = HTML.create("style", new Stylesheet("-=^&%$#$"), "Stylesheet#", !0);
   d.set(a);
   return d
  }
 }, method:{index_of:function(a) {
  for(var d = 0;d < this.rules.length;d++) {
   if(this.rules[d].selectorText == a) {
    return d
   }
  }
  return-1
 }, remove:function(a) {
  typeof a != "number" && (a = this.index_of(a));
  a = parseInt(a);
  !isNaN(a) && a > -1 && a < this.rules.length && (this._sheet.removeRule ? this._sheet.removeRule(a) : this._sheet.deleteRule(a));
  return this
 }, add:function(a, d) {
  var c = this.rules.length;
  this._sheet.insertRule ? this._sheet.insertRule(a + "{" + d + "}", c) : this._sheet.addRule(a, d, c);
  return this
 }, set:function(a, d) {
  if(arguments.length == 1) {
   for(var c in a) {
    this.set(c, a[c])
   }
   return this
  }
  var b = this.index_of(a);
  if(b == -1) {
   return this.add(a, d)
  }
  if(typeof d == "string") {
   this.rules[b].style.cssText = d
  }else {
   for(c in d) {
    this.rules[b].style[c] = d[c]
   }
  }
  return this
 }, get:function(a, d) {
  if(arguments.length == 0) {
   for(var c = [], b = 0;b < this.rules.length;b++) {
    c.push(this.rules[b].selectorText + "{ " + this.rules[b].style.cssText + " }")
   }
   return c
  }
  b = this.index_of(a);
  if(this.rules[b]) {
   return d ? this.rules[b].style[d] : this.rules[b].style.cssText
  }
 }}, ready:function() {
  var a = HTML._create("style", new Stylesheet("-=^&%$#$"), "Stylesheet#");
  document.getElementsByTagName("head")[0].appendChild(a);
  a._sheet = a.styleSheet || a.sheet;
  a.rules = a._sheet.cssRules || a._sheet.rules
 }})
})();
(function() {
 function a(b, a, e, h) {
  var e = e || "#", b = String(b).toLowerCase(), g;
  c[e + b] ? g = h ? c[e + b] : c[e + b].cloneNode(!0) : c[e + b] = g = document.createElement(b);
  if(!g.proto || !g.proto.same_instanceof(a)) {
   g.proto = a, d(g)
  }
  return g
 }
 function d(b) {
  for(var a in b.proto) {
   b[a] = b.proto[a]
  }
 }
 var c = {};
 Class({name:"HTML", init:function(b) {
  if(b) {
   return a(b, new HTML)
  }
 }, requires:["Event"], _statics:{_create:function(b, a, e, h) {
  var e = e || "#", b = String(b).toLowerCase(), g = document.createElement(b);
  if(h) {
   for(var i in h.attr) {
    g[i] = h.attr[i]
   }
  }
  if(h) {
   for(i in h.style) {
    g.style[i] = h.style[i]
   }
  }
  g.proto = a;
  d(g);
  c[e + b] = g;
  h && typeof h.ready == "function" && h.ready.apply(g);
  return g
 }, create:a, enhance:function(b, a) {
  a = a || new HTML;
  if(!b.proto || !b.proto.same_instanceof(a)) {
   b.proto = a, d(b)
  }
  return b
 }, link:d, cancel_event:function(b) {
  b = b || window.event;
  b.returnValue = !1;
  b.cancelBubble = !0;
  b.preventDefault && b.preventDefault();
  b.stopPropagation && b.stopPropagation();
  return!1
 }}, method:{$style:function(b) {
  var a = window.getComputedStyle && window.getComputedStyle(this, null) || this.currentStyle;
  return b && a[b] || a
 }, add_class:function(b) {
  this.has_class(b) || (this.className += " " + b);
  return this
 }, has_class:function(b) {
  return RegExp("\\b" + b.replace(/(\W)/g, "\\$1") + "\\b").test(this.className)
 }, remove_class:function(b) {
  this.className = this.className.replace(RegExp("\\b" + b.replace(/(\W)/g, "\\$1") + "\\b", "g"), "").replace(/\s+/g, " ");
  return this
 }, toggle_class:function(b, a) {
  this.has_class(b) ? (this.remove_class(b), a && this.add_class(a)) : (this.add_class(b), a && this.remove_class(a))
 }, hover_class:function(b, a) {
  this.bind("onmouseover", function() {
   this.add_class(b);
   a && this.remove_class(a)
  });
  this.bind("onmouseout", function() {
   a && this.add_class(a);
   this.remove_class(b)
  })
 }, hide:function() {
  this.style.display = "none";
  return this
 }, show:function(b) {
  this.style.display = b || "";
  return this
 }, bind:function(b, a) {
  if(!Event.is_instance(this[b])) {
   var c = this[b];
   this[b] = new Event;
   this[b].add(c)
  }
  this[b].contains(a) || this[b].add(a);
  return this
 }, unbind:function(b, a) {
  if(!Event.is_instance(this[b])) {
   var c = this[b];
   this[b] = new Event;
   this[b].add(c)
  }
  this[b].remove(a);
  return this
 }, fire:function(b) {
  if(typeof this[b] == "function") {
   return this[b].apply(this, Array.prototype.slice.call(arguments, 1))
  }
 }, css:function(b, a) {
  if(typeof b == "string") {
   this.style.cssText = a ? this.style.cssText + b : b
  }else {
   for(var c in b) {
    this.style[c] = b[c]
   }
  }
  return this
 }, session:function(b, a) {
  function c(b) {
   var b = RegExp(";\\s*" + escape(b) + "=([^;]+)", "i"), a = ";" + String(document.cookie || "");
   return b.test(a) ? unescape(a.match(b)[1]) : ""
  }
  function d(b, a) {
   var c = new Date;
   c.setYear(c.getYear() + 10);
   document.cookie = escape(b) + "=" + escape(a) + ";expires=" + c.toUTCString() + ";"
  }
  if(arguments.length == 1) {
   return c(b)
  }else {
   d(b, a)
  }
 }, $width:function(b) {
  if(typeof b == "number" && b >= 0) {
   this.style.width = b - this.offsetWidth + this.$width() + "px"
  }else {
   b = this.offsetWidth;
   if(b === 0) {
    return 0
   }
   return b - (parseFloat(this.$style("borderLeftWidth")) || 0) - (parseFloat(this.$style("borderRightWidth")) || 0) - (parseFloat(this.$style("paddingLeft")) || 0) - (parseFloat(this.$style("paddingRight")) || 0)
  }
 }, $height:function(b) {
  if(typeof b == "number" && b >= 0) {
   this.style.height = b - this.offsetHeight + this.$height() + "px"
  }else {
   b = this.offsetHeight;
   if(b === 0) {
    return 0
   }
   return b - (parseFloat(this.$style("borderTopWidth")) || 0) - (parseFloat(this.$style("borderBottomWidth")) || 0) - (parseFloat(this.$style("paddingTop")) || 0) - (parseFloat(this.$style("paddingBottom")) || 0)
  }
 }}})
})();
(function() {
 Class({name:"DragHandle", parent:"HTML", method:{unselectable:"on", can_drag:!0, bind_drag_target:function(a) {
  this.drag_target = a;
  return this
 }, onmousedown:function(a) {
  function d(a) {
   a = a || window.event;
   b.move_to([a.clientX - f, a.clientY - e])
  }
  function c() {
   document.unbind("onmousemove", d).unbind("onmouseup", c)
  }
  a = a || window.event;
  if(this.can_drag && this.drag_target) {
   var b = this.drag_target, f = a.clientX - b.offsetLeft, e = a.clientY - b.offsetTop;
   document.bind("onmousemove", d).bind("onmouseup", c)
  }
 }}, ready:function() {
  HTML.enhance(document)
 }})
})();
(function() {
 var a = "-=^&%$#$" + Math.random() + (new Date).getTime(), d = 100;
 Class({name:"WinButton", parent:"HTML", init:function(c, b, d) {
  if(c != a) {
   var e = HTML.create("a", new WinButton(a), "WinButton#");
   e.innerHTML = c;
   e.bind("onclick", function() {
    d.apply(b)
   });
   return e
  }
 }, method:{unselectable:"on", href:"javascript:void(0);", target:"_self"}, ready:function() {
  HTML._create("a", new WinButton(a), "WinButton#", {attr:{className:"win_button"}})
 }});
 Class({name:"WinCaptionTitle", parent:"HTML", init:function(c) {
  if(c != a) {
   return HTML.create("div", new WinCaptionTitle(a), "WinCaptionTitle#")
  }
 }, method:{unselectable:"on"}, ready:function() {
  HTML._create("div", new WinCaptionTitle(a), "WinCaptionTitle#", {attr:{className:"win_caption_title"}})
 }});
 Class({name:"WinCaption", parent:"DragHandle", requires:["WinCaptionTitle", "WinButton"], init:function(c) {
  if(c != a) {
   var b = HTML.create("div", new WinCaption(a), "WinCaption#");
   b.appendChild(new WinButton("[X]", c, function() {
    this.close()
   }));
   b.appendChild(b.$title = new WinCaptionTitle);
   return b
  }
 }, method:{unselectable:"on"}, ready:function() {
  HTML._create("div", new WinCaption(a), "WinCaption#", {attr:{className:"win_caption"}})
 }});
 Class({name:"WinButtonBar", parent:"HTML", requires:["Stylesheet", "WinButton"], init:function(c, b) {
  if(c != a) {
   var d = HTML.create("div", new WinButtonBar(a), "WinButtonBar#");
   if(b) {
    for(var e in b) {
     d.appendChild(new WinButton(e, c, b[e]))
    }
   }else {
    d.hide()
   }
   return d
  }
 }, method:{unselectable:"on"}, ready:function() {
  HTML._create("div", new WinButtonBar(a), "WinButtonBar#", {attr:{className:"win_button_bar"}})
 }});
 Class({name:"WinBody", parent:"HTML", requires:["Stylesheet"], init:function(c) {
  if(c != a) {
   return HTML.create("div", new WinBody(a), "WinBody#")
  }
 }, method:{unselectable:"on"}, ready:function() {
  HTML._create("div", new WinBody(a), "WinBody#", {attr:{className:"win_body"}})
 }});
 Class({name:"WinBorder", parent:"HTML", requires:["Stylesheet"], init:function(c) {
  if(c != a) {
   return HTML.create("div", new WinBorder(a), "WinBorder#")
  }
 }, method:{unselectable:"on"}, ready:function() {
  HTML._create("div", new WinBorder(a), "WinBorder#", {attr:{className:"win_border"}})
 }});
 Class({name:"Win", parent:"HTML", requires:["Stylesheet", "WinCaption", "WinBody", "WinBorder"], init:function(c) {
  if(c != a) {
   var b = HTML.create("div", new Win(a), "Win#");
   b.appendChild(b.border = new WinBorder(b));
   b.appendChild(b.caption = new WinCaption(b));
   b.appendChild(b.body = new WinBody(b));
   b.appendChild(b.button_bar = new WinButtonBar(b, c.buttons));
   b.caption.bind_drag_target(b);
   if(c) {
    b.data = c, b.set_title(c.title)
   }
   return b
  }
 }, method:{unselectable:"on", type:"win", onmousedown:function() {
  this.style.zIndex = d++
 }, open:function() {
  var a = this.data || {};
  document.body.appendChild(this);
  this.show();
  a.size && this.set_size(a.size);
  a.pos ? this.move_to(a.pos) : this.auto_center();
  this.style.zIndex = d++;
  this.fire("onopen")
 }, close:function() {
  this.hide();
  this.fire("onclose")
 }, set_size:function(a) {
  this.$width(a[0]);
  this.$height(a[1]);
  this.border.$width(a[0]);
  this.border.$height(a[1]);
  this.body.$width(this.$width());
  this.body.$height(this.$height() - this.caption.offsetHeight - this.button_bar.offsetHeight)
 }, set_title:function(a) {
  this.caption.$title.innerHTML = a || "Untitled Window"
 }, move_to:function(a) {
  this.style.left = a[0] + "px";
  this.style.top = a[1] + "px"
 }, auto_center:function() {
  var a = window.innerHeight || document.documentElement.clientHeight;
  this.move_to([((window.innerWidth || document.documentElement.clientWidth) - this.$width()) / 2, (a - this.$height()) / 2])
 }}, ready:function() {
  new Stylesheet({".win":"position:absolute; float:left; display:block; padding:0px 5px 5px 5px; -moz-user-select:none; user-select:none; -webkit-user-select:none;", ".win_border":"position:absolute; left:0px; top:0px; float:left; display:block; border:1px solid black; background-color:#888888; opacity:0.7; filter:alpha(opacity=70); -moz-border-radius:5px; -khtml-border-radius:5px; -webkit-border-radius:5px; border-radius: 5px;", ".win_button":"color:navy; font-size:12px; text-decoration:none;", 
  ".win_button:hover":"color:white; text-decoration:none;", ".win_button_bar":"position:relative; width:100%; line-height:30px; font-size:14px; text-align:center;", ".win_button_bar .win_button":"margin:5px 10px 0px 0px; padding:0px 10px; line-height:24px; background-color:silver; display:inline; zoom:1; display:inline-block;", ".win_caption":"position:relative; width:100%; line-height:30px; font-size:14px; cursor:pointer;", ".win_caption_title":"font-weight:bold; color:white;", ".win_caption .win_button":"float:right;", 
  ".win_body":"position:relative; overflow:auto; width:100%; height:auto; background-color:white;"});
  HTML._create("div", new Win(a), "Win#", {attr:{className:"win"}})
 }})
})();
Class.ready(function() {
 var a = new Win({size:[400, 300], pos:[220, 220], buttons:{OK:function() {
  this.close()
 }, Cancel:function() {
  this.close()
 }}});
 (new Win({size:[400, 300], pos:[20, 20], title:"Untitled Window 2"})).open();
 (new Win({size:[400, 300], pos:[440, 20], title:"Untitled Window 3"})).open();
 (new Win({size:[400, 300], pos:[20, 340], title:"Untitled Window 4"})).open();
 a.open()
}, null, !0);
</script>
</head>
<body>
</body>
</html>

希望本文所述对大家的JavaScript程序设计有所帮助。

Javascript 相关文章推荐
腾讯与新浪的通过IP地址获取当前地理位置(省份)的接口
Jul 26 Javascript
jQuery数组处理代码详解(含实例演示)
Feb 03 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
Apr 09 Javascript
js判断浏览器是否支持html5
Aug 17 Javascript
jQuery实现多按钮单击变色
Nov 27 Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
Feb 25 Javascript
AngularJs Understanding the Controller Component
Sep 02 Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 Javascript
js实现首屏延迟加载实现方法 js实现多屏单张图片延迟加载效果
Jul 17 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
Aug 10 Javascript
js作用域及作用域链工作引擎
Jul 07 Javascript
表单验证插件Validation应用的实例讲解
Oct 10 #Javascript
JS实现的车标图片提示效果代码
Oct 10 #Javascript
jqTransform美化表单
Oct 10 #Javascript
clipboard.js无需Flash无需依赖任何JS库实现文本复制与剪切
Oct 10 #Javascript
页面内容排序插件jSort使用方法
Oct 10 #Javascript
JavaScript子窗口调用父窗口变量和函数的方法
Oct 09 #Javascript
js中unicode转码方法详解
Oct 09 #Javascript
You might like
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
PHP 批量删除 sql语句
2009/06/05 PHP
php中获得视频时间总长度的另一种方法
2011/09/15 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
PHP+MySql+jQuery实现的&quot;顶&quot;和&quot;踩&quot;投票功能
2016/05/21 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
php5.5使用PHPMailer-5.2发送邮件的完整步骤
2018/10/14 PHP
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
Js操作树节点自动折叠展开的几种方法
2014/05/05 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
javascript跨域方法、原理以及出现问题解决方法(详解)
2015/08/06 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
在vue项目中安装使用Mint-UI的方法
2017/12/27 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
JavaScript多种图形实现代码实例
2020/06/28 Javascript
VsCode里的Vue模板的实现
2020/08/12 Javascript
[49:21]TNC vs VG 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第三场 8.20.mp4
2019/08/22 DOTA
[01:02:09]Liquid vs TNC 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21
2020/07/19 DOTA
深入解析Python中的线程同步方法
2016/06/14 Python
python变量不能以数字打头详解
2016/07/06 Python
matplotlib作图添加表格实例代码
2018/01/23 Python
python3使用smtplib实现发送邮件功能
2018/05/22 Python
pandas进行数据的交集与并集方式的数据合并方法
2018/06/27 Python
Python对接 xray 和微信实现自动告警
2019/09/17 Python
python turtle 绘制太极图的实例
2019/12/18 Python
Python 开发工具PyCharm安装教程图文详解(新手必看)
2020/02/28 Python
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
学校门卫工作职责
2013/12/07 职场文书
门前三包责任书
2014/04/15 职场文书
胡桃夹子观后感
2015/06/11 职场文书
银行柜员工作心得体会
2016/01/23 职场文书