前言JS 中最基础的异步调用方式是 callback,它将回调函数 callback 传给异步 API,由浏览器或 Node 在异步完成后,通知 JS 引擎调用 callback。对于简单的异步操作,用 callback 实现,是够用的。但随着负责交互页面和 Node 出现,callback 方案的弊端开始浮现出来。 Promise 规范孕育而生,并被纳入 ES6 的规范中。后来 ES7 又在 Promise 的基础上将 async 函数纳入标准。此为 JavaScript 异步进化史。同步与异步通常,代码是由上...
前言和其他编程语言一样,Javascript同样拥有着很多种设计模式,比如单例模式、代理模式、观察者模式等,熟练运用Javascript的设计模式可以使我们的代码逻辑更加清晰,并且更加易于维护和重构。本文将介绍Javascript模式中较为常见和实用的模式——单例模式,主要分为概念和实例部分。在介绍实例的同时也会对代码中额外的知识点进行讲解。单例模式概念首先什么是单例模式?可以这样理解:单例模式旨在保证一个类仅有一个实例,并提...
以前在网上看到的最简单的拖动对象的代码,忘记作者叫什么了。 原始代码在IE下有些小问题,并且声明了文档类型为xhtml 1.0后,在FF等非IE浏览器下无效,对其进行了改进,现在已经可兼容:IE、Firefox、Opera ... 以下代码只是演示原理,具体应用请结合你自己的实际需求进行修改。代码实例:拖动对象 Drag Object (兼容:IE、Firefox、Opera ... ) .dragAble {position:relative;cursor:move;} 这些都是可拖动对象 [Ctrl+A 全选 注:如...
在文档加载完毕后将执行的方法(参见jquery文档) 一般来说文档加载的时候应该绑定所有的事件, 但是有一种情况例外. 比如 通过Ajax方法取回来的内容里面还含有动作按钮的,这时需要针对这部分功能执行绑定. 代码如下://需要手动调用 load_event_monitor(element); 方法. $(function() { load_event_monitor(document); }); //注意这里的o对象是一个html 元素而非是一个jquery对象,所以在调用它的方法时应该使用$(o)函数 ...
1. 键盘方向键监听事件和禁止复制操作 <head> <script language=javascript> document.onkeydown=nextpage var prevpage="http://www.gxlcms.com/1.htm" var nextpage="http://www.gxlcms.com/2.htm" var indexpage="/readindex/index_0011020986.html" function nextpage(event) { event = event ? event : (window.event ? window.event : null); if (event.keyCode==13) location=indexpage if (event.keyCode==37) lo...
代码如下: $(function () { $('#form1').validate({ rules: { txtUser: { required: true, minlength: 6 }, txtPassword: { required: true, minlength: 6 }, txtConfirm: { required: true, minlength: 6, equalTo: "#password" }, txtHomePage: { required: true, url: true }, txtBirt...
代码如下:function copy_clip() { var url = $("#back_info").html(); //需要复制的内容 var txt = url.substring(url.indexOf(":") + 1, url.length); if (window.clipboardData) { window.clipboardData.clearData(); window.clipboardData.setData("Text", txt); alert(恭喜,复制成功!); } else if (navigator.userAgent.indexOf("Opera") != -1) { window.location = txt; }...
代码如下: 远程网页源代码读取 /* 页面字体样式 */ body, td, input, textarea { font-family:Arial; font-size:12px; } //用于创建XMLHttpRequest对象 function createXmlHttp() { //根据window.XMLHttpRequest对象是否存在使用不同的创建方式 if (window.XMLHttpRequest) { xmlHttp = new XMLHttpRequest(); //FireFox、Opera等浏览器支持的创建方式 } else { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");//IE浏览...
代码如下: 10进制2进制 Decimal: Binary: var d = document.getElementById('decimal'); var b = document.getElementById('binary'); function toBinary() { var num = d.value; if (isNaN(num) || !num) { d.value = ""; return false; } b.value = (parseInt(num)).toString(2); } function toDecimal() { var n...
Css代码 代码如下: #brg{ width: 100%; height: 100%; background: #333; position: absolute; top: 0; left: 0; filter: alpha(opacity=60); -moz-opacity: 0.6; opacity: 0.6; position: absolute; top: 0; left: 0; display: none;}#showdiv{ width: 100%; height: auto; position: absolute; left: 300px; top: 150px; z-index: 330; display: none;}#testdiv{ width: 800px; height: auto; margin: 0 0; border: 1px solid #4...
效果: 思路: 利用setInerval()计时器,进行运动。然后关键的一点是在最后停止的时候给它一个填充缝隙的判断。 代码: 代码如下: #div1 { width: 100px; height: 100px; background: #0000FF; position: absolute; left: 800px; top: 100px; } #div200 { width: 1px; height: 400px; ...
代码如下:JS模拟地球旋转-柯乐义JS模拟地球旋转柯乐义eval(z = 'p=""/* ,.oq#+ ,._, */;for(y in n="zw24l6k\4e3t4jnt4qj24xh2 x/* =9h243pdxt41csb yz/* #K q##H######Am */43iyb6k43pk7243nm\r24".split(4)){/* dP cpq#q##########b, */for(a in t=pars\eInt(n[y],36)+/* p##@###YG=[#######y */(e=x=r=[]))for\(r=!r,i=0;t[a/* d#qg `*PWo##q#######D */]>i;i+=.05)wi\th(Math)x-= /* aem1k.com Q###KWR#### W[ */.05,0>cos(o=\...
代码很简单,主要一个思路是把url参数解析为js对象,再做增、删、改、查操作就很方便了~,这里做笔记。代码如下:var LG=(function(lg){ var objURL=function(url){ this.ourl=url||window.location.href; this.href="";//?前面部分 this.params={};//url参数对象 this.jing="";//#及后面部分 this.init(); } //分析url,得到?前面存入this.href,参数解析为this.params对象,#号及后面存...
调用:代码如下:var pageChange = function (index) { var html = pager("divid", index, 5, 1000, pageChange, { showGoTo: false, showFirst: false }); } 实现:代码如下:pager = function (divPager, pageIndex, pageSize, totalCount, pageChange, opt) { var theOpt = { barSize: 5, //分页条显示的页码数 barTemplate: "{bar} 共{totalPage}页{totalCount}条 {goto}", //显示模板...
代码如下:javascript_获取网页标题代码function get_pagetitle(split_chr,new_pagetit){ var titleitems,return_title; var the_pagetitle=document.title; titleitems=the_pagetitle.split(split_chr); return_title=the_pagetitle; if(titleitems[1]) { return_title=the_pagetitle.replace(titleitems[1],new_pagetit) } else { if(new_pagetit) { return_title=the_pagetitle & split_chr & new_pagetit; } } alert(retu...