├── .gitignore ├── img ├── img.jpg └── logo.png ├── 1.9.6.5升级介绍.txt ├── MingGeJs介绍.txt ├── README_en.md ├── README.md ├── demo.html ├── MingGe_Min_1.9.6.5.js └── MingGe_1.9.6.5.js /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | mingge_MIN.js 3 | -------------------------------------------------------------------------------- /img/img.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drduan/minggeJS/HEAD/img/img.jpg -------------------------------------------------------------------------------- /img/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drduan/minggeJS/HEAD/img/logo.png -------------------------------------------------------------------------------- /1.9.6.5升级介绍.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drduan/minggeJS/HEAD/1.9.6.5升级介绍.txt -------------------------------------------------------------------------------- /MingGeJs介绍.txt: -------------------------------------------------------------------------------- 1 | 继优秀作品shearphoto截图插件, 2 | 本人又再推出国产山寨JQUERY, 3 | 为什么我要开发一个山寨JQUERY?老实说我从来没用过JQUERY,正因为我反感JQUERY。 4 | 5 | 为什么我反感,因为我完全有开发JQUERY的能力,JQUERY的底层我都了如指掌。 6 | 7 | 我开发插件一直都是用原生JS,大家可以看下我前面的作品shearphoto就是用原生JS写的。 8 | 虽说我反感JQUERY,但是JQUERY却在前端界占有大量的用户份额,之后我有个想法,不如重新开发一个属于自己思想, 9 | 自己架构的JQUERY。有了想法就要实现我山寨JQUERY之路 10 | 11 | 我给了他一个霸气的名字:MingGeJs, 12 | 13 | 14 | MingGeJs是什么?它是我一个星期完成的作品,它是一个JS类库,它拥有和JQUERY相同的语法,相同函数,相同的函数用法, 15 | 但是动画,选择器性能,函数 16 | 效率都在JQ之上,同时兼容IE 6 7 8,同时与JQUERY相兼容 17 | 18 | 它的名字叫MingGeJs,MingGe就是我的大名, 19 | 一看到插件名字,就知道作者是我,知道它是国产的,让别人知道国产类库一样做得很出色,出众 20 | 21 | 本人文化程度不高,初中毕业!半句英文都不会, 22 | 但是我相信只要肯努力一样可以实现自己的梦想。MingGeJS的梦想有点大胆, 23 | 就是在全球范围内,占据 24 | 25 | JQUERY百分之50以上的用户份额。MingGeJs已在GIT开源,欢迎各路前端高手对MingGeJs类库进行评测! 26 | 27 | 28 | 我是mingge 请支持国产minggeJS类库,因为我们都是中国人。 29 | -------------------------------------------------------------------------------- /README_en.md: -------------------------------------------------------------------------------- 1 | # minggeJS 2 | 3 | Since the awesome screenshot plugin **shearkhoto**, I started an new copy of JQUERY which is made by Chinese. Why I started this? Frankly speaking, I had never use jQUERY before because I hate JQUERY badly. What is the reason of that? Because I am absolutely able to build such a damn library and fully realize the technical detail in jQUERY. But JQUERY is a giant of Front-End and has a huge number of believers, which inspired me and brought an idea — How about start an new one JQUERY that using my mind. After the idea came out, I started this project. 4 | 5 | I gave it a fucking cool name: **MingGeJs**. 6 | 7 | What is MingGeJs? It is a project took me a week to done and a JS library which has the same syntax, same methods and same usage with JQUERY. But MingGeJs is better than jQ in Animations, Selector and method performance. BTW, MingGeJs works with IE 6, 7 and 8 very well. Of course, you can use MingGeJs and jQUERY together. 8 | 9 | Its name is MingGeJs while MingGe is my name. This library will remind you of me when you see its name and remind you of the fact that this library is made by **Chinese**. We have to show our skill to the world and let them know our project also good, even better than theirs. 10 | 11 | I have not a Bachelor degree even never enter a high school. I have no any idea about English. But, it will not stop me on the road to succeed. MingGeJS has a huge and distant goal that means taking over half of users of JQUERY in the whole world. MingGeJs is an open source project that hosted in GIT, I welcome all of you to have a try! 12 | 13 | I am MingGe. I initiative, let's give a support to Chinese-made minggeJS library as Chineses. 14 | 15 | ## minggeJS Release v1.7 16 | 17 | **TODO** 18 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MingGeJS1.9.4.2016完美正式版 2 | >HEAD 3 | 4 | English version is [here](README_en.md). 5 | 6 | 7 | 8 | 9 | 10 | PS 1.95版本 11 | ---------------------------------------------------------------- 12 | 1:继续加强 创建节点 接口,新增多类型数据传入 。 13 | 14 | 15 | 2:新增 prepend appendTo prependTo before after ,完全和JQ一一模一样,,而且带事件克隆效果,这些接口分别做了大量的工作,createNode接口,继续存在,保留参数传入 16 | 17 | 18 | 3:先前取 单个对象 需要 $("div").nodeList[0],一直惹起各方用户反感,纷纷说“JQ都不是这样的,作者技术不够吧”,因此我又做了大量工作,现在可以$("div")[0] 可以这样取了 19 | 20 | 21 | 4:选择器接口深度修复,细节不详,以及执行效率增强,可以告诉大家,比JQ最小快2倍,逻辑不比JQ少,ZEPTO更甩开他几条街。 22 | 23 | 24 | 5:新增克隆节点 , $("div").clone(参数) 参数为TRUE时,连事件一起克隆,包括子节点。参数非TRUE时,只克隆节点,包括子节点,这个接口和JQ一模一样的,具体看JQ的方档; 25 | 26 | 27 | 6:新增add map 接口,具体请看JQ方档,反正一模一样的; 28 | 29 | 30 | 7: filter 新增可以传入FUNCTION 示例 $("div").filter(function(){ return this.nodeType==1; }),和JQ一模一样的; 31 | 32 | 33 | 8:新增依赖加载接口(非标准型),$.createScript; 34 | 35 | 36 | 9:新增可以这样创节点 $("
123
"),还有 $([1,2,3,4]) 这样传入 还有 $( document.getElementsByTagName("div")) 节点列表传入,DOM传入等,非常人性化; 37 | 38 | 39 | 10:新增 MingGe.noConflict() 方法让渡变量 $ 的 MingGe 控制权。 40 | 41 | 该方法释放 MingGe 对 $ 变量的控制。 42 | 43 | 该方法也可用于为 MingGe 变量规定新的自定义名称. 44 | 45 | 对的,这个接口和JQ一样的,麻烦大家移步看JQ方档这个接口的详解 46 | 47 | 48 | 11:以及N多API进行深度调整 49 | 50 | 51 | 可以说1.95是MingGeJs一个思想更开放,更放纵的版本,能完全用“全面改革开放”来形容这次的更新,所有API,做到密不透风,非常严格! 52 | 目的就是,用户开心,我就开心,没有用户我就不开心。 MinggeJS经历过好几次的重大的更新,我一直好努力,好努力,我失去好多私人时间, 53 | 对于MingGeJS我越踩越深了!我无法自拨了。 54 | 我的好想在国内范围能取代JQ的位置,MinggeJS真的可以做到比JQ优秀,求大家给个机会我,给个机会MingGeJS 55 | 我希望大家可以试用一下,用来应付大型项目完全能驾驭。我知道网络上很多对minggeJS的负面评论,你要记住,只是1.6第一个版本的事 56 | ,是我完成一个星期就发布的版本,无可否认,用垃圾来形容是对的,但是1.95已经走向成熟。1.6之前的代码已经基本消失。 57 | MingGeJS已经做了大量单元测试,绝不可能有严重BUG,最后说一声:“给个机会MingGeJS,给个机会作者,真的想取代JQ的位置” 58 | 59 | 60 | 61 | --- 62 | 63 | 64 | >PS:MingGeJS 1.9.3.完美正式版 升级 65 | 66 | 1:新增取兄弟节点API接口 $(XXX).siblings(),$(XXX).prev(),$(XXX).prevAll(),$(XXX).next(),$(XXX).nextAll()。我不介绍了,和JQUERY的接口一样的。 67 | 68 | 2:新增content 取文本节点, 不介绍了和JQUERY一样的。 69 | 70 | 3:修复选择器为 为“*”号时,取不出节点,例如$("*").filter("*"),已深度修复。 71 | 72 | 4:修复children取出来的子节点有误。 73 | 74 | 5: 修正特殊情况下$(xxx)指向被错误劫持的问题! 75 | 76 | 6: 以及部份API细节作了深度调整。 77 | 78 | ------------------------------------------------------------------------------------------------ 79 | 80 | 81 | 结语:minggeJS并不单单山寨JQUERY,更多的是融入我自己思想。minggeJS的CSS3动画做得不错的,比ZEPTO动画要好是肯定的, 82 |         例如串联动画,zepto是没有的,所以minggeJS非常合适合来做手机端,做各种复杂的CSS3动画, 83 | 另外minggeJS支持模块及插件形式分离开发,大致用法基本和JQUERY一致,有部份函数用法则有所稍略 84 | 请大家看DEMO.html演试!(DEMO.html已大幅度更新) 85 | 86 | 我是mingge,请支持国产MingGeJs 87 | 88 | 89 | 90 | ------------ 91 | 继优秀作品shearphoto截图插件,本人又再推出国产山寨JQUERY,为什么我要开发一个山寨JQUERY?老实说我从来没用过JQUERY,正因为我反感JQUERY。 92 | 为什么我反感,因为我完全有开发JQUERY的能力,JQUERY的底层我都了如指掌。 93 | 我开发插件一直都是用原生JS,大家可以看下我前面的作品shearphoto就是用原生JS写的。 虽说我反感JQUERY,但是JQUERY却在前端界占有大量的用户份额,之后我有个想法,不如重新开发一个属于自己思想,自己架构的JQUERY。有了想法就要实现我山寨JQUERY之路 94 | 继优秀作品shearphoto截图插件,本人又再推出国产山寨jQuery,为什么我要开发一个山寨jQuery?老实说我从来没用过jQuery,正因为我反感jQuery。 95 | 为什么我反感,因为我完全有开发jQuery的能力,jQuery的底层我都了如指掌。 96 | 我开发插件一直都是用原生JS,大家可以看下我前面的作品shearphoto就是用原生JS写的。 虽说我反感jQuery,但是jQuery却在前端界占有大量的用户份额,之后我有个想法,不如重新开发一个属于自己思想,自己架构的jQuery。有了想法就要实现我山寨jQuery之路 97 | >>>>>>> pr/60 98 | 99 | 我给了他一个霸气的名字:MingGeJs, 100 | 101 | MingGeJs是什么?它是我一个星期完成的作品,它是一个JS类库,它拥有和jQuery相同的语法,相同函数,相同的函数用法, 但是动画,选择器性能,函数 102 | 效率都在JQ之上,同时兼容IE 6 7 8,同时与jQuery相兼容 103 | 104 | 它的名字叫MingGeJs,MingGe就是我的大名, 一看到插件名字,就知道作者是我,知道它是国产的,让别人知道国产类库一样做得很出色,出众 105 | 106 | 本人文化程度不高,初中毕业!半句英文都不会,但是我相信只要肯努力一样可以实现自己的梦想。MingGeJS的梦想有点大胆,就是在全球范围内,占据 107 | 108 | jQuery百分之50以上的用户份额。MingGeJs已在GIT开源,欢迎各路前端高手对MingGeJs类库进行评测! 109 | 110 | 我是mingge 请支持国产minggeJS类库,因为我们都是中国人。 111 | 112 | 下面我介绍一下minggeJS几大优点。 113 | 114 | minggeJS具有以下优点 115 | 1:选择器执行速度胜出jQuery, 116 | 以十万个DIV节点测试,分别用minggeJS与jQuery选择器取出指定节点测试: 117 | jQuery结果 : IE7以上:花时1800毫秒 IE7 花时 8135毫秒 IE6 花时超过30-40秒之间,浏览器随机卡死。 118 | minggeJS结果: IE7以上:花时1500毫秒 IE7花时 5132毫秒 IE6花时 23-35秒之间 浏览器也有卡死现象,但次数少。 119 | 花时越少,选择器性能越强,从结果来看,minggeJS大获全胜。 司徒正美也开发了一个号称世界最快的选择器,我也测试了下,从结果来看和我不分上下的! 120 | 还有一点值得提提,居闻jQuery的选择器不是自己公司原创的,是用第三方选择器改出来的!minggeJS的选择器问心无愧地说全部是我原创开发的 121 | 2:众所周之,JQUERY的动画原理是采用定时器方原理,minggeJS原理不同,minggeJS的动画采用的是CSS3过渡原理,遗憾的是minggeJS的动画不支持IE678。 minggeJS并不是第一个采用CSS3过渡动画,zepto的动画也是采用这个原理,可惜zepto动画做得真心差,zepto是不支持串联式动画的,用zepto做复杂动画,简直是一大败笔。 minggeJS则支持动画串联,支持高效准确回调,支持接口查询是否正在动画等,可以告诉大家用minggeJS做手机动画,绝对是最佳的选择! 122 | 3:语法,函数用法,函数名称,都与JQUERY一致,只要会JQUERY,你就会更用minggeJS,易学易用,马上上手。部份函数用法稍有不同,例如mingge新建节点是用$(XX).createNode(),比JQUERY方便很多! 123 | minggeJS不单单是山寨JQUERY,更多的是融入了自己的思想,想法! 124 | 4:文件体积20K左右,后期升级可能会维持在40K左右,我自己的想法就是希望不超过40K。 125 | 5: minggeJS后期的发展,更多是想往手机端发展,即使战不胜JQUERY,能战胜zepto也是赏心悦目的事。再者就是动画方面,打算采用两种模式供用户选择,1种是CSS3,第2种CSS2定时器方式,定时器方式,估计以插件方式发布! 126 | -------------------------------------------------------------------------------- /demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | MingGeJs1.9.6.5.2016超级正式版,国产山寨JQUERY,请支持国产,官网www.shearphoto.com 7 | 38 | 39 | 215 | 216 | 217 | 218 |
219 |
220 |
221 |
222 |
223 |

强大的minggeJS,你会JQUERY你也会用minggeJS,语法是一样的!但是minggeJS比JQUERY还要强大,文件小,选择器的效率在JQUERY和ZEPTO之上,超强的CSS3动画 224 | JQUERY有的功能,minggeJS都有基本上有,压缩后只有40K大,1.9.6.5超级正式版 225 | 可以说1.9.6.5是我一个思想更开放,更放纵的一个版本,能完全用“全面改革开放”来形容这次的更新,所有API,做到密不透风,非常严格! 226 | 目的就是,用户开心,我就开心,没有用户我就不开心。 MinggeJS经历过好几次的重大的更新,我一直好努力,好努力,我失去好多私人时间, 227 | 对于MingGeJS我越踩越深了!我无法自拨了, 228 | 我的好想在国内范围能取代JQ的位置,MinggeJS真的可以做到比JQ优秀,求大家给个机会我,给个机会MingGeJS

229 |
|我是参照物|
230 |
minggeJS动画
231 |
minggeJS动画
232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 |
248 |
249 |
250 |
minggeJS的接口就何止这些,请自己按着你所认识的JQUERY的函数。来测试下其他函数
251 | 252 | 253 | -------------------------------------------------------------------------------- /MingGe_Min_1.9.6.5.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MingGeJs类库1.9.6.5.2016超强正式版(Min) 3 | * 4 | * 你会用JQUERY,那你也会用这个类库,因为语法都是一样的,那有开发文档吗?和JQUERY一样,要开发文档干嘛? 5 | * 6 | * MingGeJs的运行绝对比JQUERY快,MingGejs是你的最佳选择,请多多支持, 7 | * 8 | * 作者:明哥先生-QQ399195513 QQ群:461550716 官网:www.shearphoto.com 9 | */ 10 | !function(a,b,c){var d,e,f,g,h,i,j="MingGe_Min_1.9.6.5",k="readystatechange",l="on"+k,m="[object Object]",n="[object Array]",o="getElementById",p="getElementsByTagName",q="getElementsByClassName",r="querySelectorAll",s="documentElement",t="#MingGe#NotNode",u="MingGeAnimate",v="MingGeBind",w="mingGeAnimateList",x="isMingGeAnimate",y="MingGeAllElem2016",z=document,A=a.setTimeout,B=a.encodeURIComponent,C=z.createElement("div"),D=[],E=function(){},F=!!z[q],G=!!z[r],H=Object.prototype.toString,I=/^(?:#([\w\u00c0-\uFFFF\-]+)|(\w+)|\.([\w\u00c0-\uFFFF\-]+))$/,J=/^\[\s?([\w\u00c0-\uFFFF\-]+)\s?(?:=\s?[\"\'](.+?)[\"\']\s?)?\]$/,K=/[^\,]+/g,L=/[^\s]+/g,M=/^[\w\u00c0-\uFFFF\-]+|\*/,N=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,O=[/[\t\r\n\f\v]/g,/[\x00-\x1f\x7f-\x9f\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,/\\([\}\]])/g],P=/[\]\}\"\\\/]/g,Q=[/((?:\[[^\[\]]+\])+)([\w\u00c0-\uFFFF\-]+|\*)/g,/([\.#]?[\w\u00c0-\uFFFF\-]+|\*)<<<(.+?)>>>/g],R=/^[\w\*]/,S=/,+$/,T=/([^\?&\\\/]+?)\s*=\s*\?+$/,U=/,([\}\]])/g,V=[/^[\],:{}\s]*$/,/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,/(?:^|:|,)(?:\s*\[)+/g],W=/\s+/g,X=/([A-Z])/g,Y=/-([a-z])/gi,Z=/&+$/,$=/^#[\w\u00c0-\uFFFF\-]+[^\w\u00c0-\uFFFF\-]|^\*+\#/,_=/(<<<|>>>)/g,ab=/(\[.+?\]|[\.#]?([\w\u00c0-\uFFFF\-]+))/g,bb=/^(div|ul|p|h1|h2|h3|h4|h5|h6|dd|dt|dl|ol|table|nav|form|hr)$/i,cb=/^(span|ul|b|a|em|strong|img|label)$/i,db=/^li$/i,eb=/^(input|button|textarea|select|option)$/i,fb=/opacity\s*=\s*([0-9]+)/,gb=/^(linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier\s*\(.+\))$/,hb=/[\?&]+.+\s*=\s*\?/,ib=/^#([\w\u00c0-\uFFFF\-]+)$/,jb=/\?/,kb=/^\<\s*input/i,lb=/alpha\([^)]*\)/,mb=[/\[[^\[\]]*(\s)[^\[\]]*\]/g,/\s/g,/<<@>>/g,/\[[^\[\]]*(\,)[^\[\]]*\]/g,/\,/g,/<<\uff0c>>/g],nb=D.push,ob=D.slice,pb={fast:200,slow:600,normal:400},qb=function(a){try{return a.replace(N,"")}catch(b){return a}},rb=function(a,b){return Rb.isObjArr(a)&&Rb.isObjArr(b)&&Rb.each(b,function(b,c){a[b]=c}),a},sb=/^\s*(matrix3d|translate3d|translateX|translateY|translateZ|scale3d|scaleX|scaleY|scaleZ|rotate3d|rotateX|rotateY|rotateZ|perspective|matrix|translate|translateX|translateY|scale|scaleX|scaleY|rotate|skew|skewX|skewY)\s*$/i,tb=function(a){a=a.toLowerCase();var b=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},ub=function(a){Rb.each.call(this,function(){var b,c,d,e=f.getElem(this,v+f.key,[a]);if(Rb.isArray(e))for(d=e.length-1;d>-1;d--)b=e[d],Rb.isObject(b)&&Rb.isFunction(c=b.callback)&&(f.removeEvent(this,a,{isOne:!0,callback:c}),c.call(this))})},vb=function(a){var b=I.exec(a),c=!1;return null===b?(b=a.match(J))&&(c=[null,null,b,{Attr:!0}]):c=b[1]?[o,"id",b[1],{Id:!0}]:b[2]?[p,"tagName",b[2],{Tag:!0}]:[q,"className",b[3],{Class:!0}],c},wb=[function(a){return{"\t":"\\t","\r":"\\r","\n":"\\n","\f":"\\f","\v":"\\v"}[a]},function(a){return"\\u"+("000"+a.charCodeAt(0).toString(16)).slice(-4)},function(a,b){return b}],xb=function(a){return a.replace(O[0],wb[0]).replace(O[1],wb[1]).replace(O[2],wb[2])},yb=function(a){return"\\"+a},zb=function(a){return a.replace(P,yb)},Ab=function(a){var b=0,c=[],d=a.length;if(a&&(d||a.item&&!Rb.isWindow(a)))for(;d>b;b++)-1==Rb.inArray(a[b],c)&&c.push(a[b]);return c},Bb=function(a,b){var c,d,e,f,g,h,i,j,k,l;if(b?(d=" ",e="<<@>>",f=L,g=mb[0],h=mb[1],i=mb[2]):(d=",",e="<<,>>",f=K,g=mb[3],h=mb[4],i=mb[5]),a=a.replace(g,function(a){return c=!0,a.replace(h,e)}),j=a.match(f),j&&c)for(k=0,l=j.length;l>k;k++)j[k]=j[k].replace(i,d);return j},Cb=function(a,b,c){return R.test(b)?"*"==b?c:"*"==c?b:b.toLowerCase()==c.toLowerCase()?b:t:c+b},Db=function(a){var b,a=a.replace(Q[0],function(a,c,d){return b=!0,"<<<"+d+">>>"+c});return b?(a=a.replace(Q[1],Cb).replace(_,""),Db(a)):a},Eb=function(a,b){var c,d,e,f;if(!R.test(b))return a+b;if(c=Bb(a,!0)){if(d=c.length-1,e=c[d].match(M),!e)return c[d]=b+c[d],c.join(" ");if(f=b.match(M),e[0].toLowerCase()==f[0].toLowerCase()||"*"==f[0])return a+b.replace(M,"");if("*"==e[0])return Db(a.replace("*","")+b)}return t},Fb=function(a,b,c){var d,e,f,g,h,i,j,k=Bb(a),l=Bb(b);if(k&&l){for(e="",f=" "==c,g=0,h=k.length,i=l.length;h>g;g++)for(d=k[g]+c,j=0;i>j;j++)e+=f?d+l[j]+",":Eb(d,l[j])+",";return""==e?t:e.replace(S,"")}},Gb=function(a,b,c,d,e){if(a.queryTwo===!0)return-1;if(Rb.isElem(a.queryOne)){if(d)return-1;var f,g="#"+(a.queryOne.id||(f=!0,a.queryOne.id="tempMingGeId2016")),h=b.queryTwo=Rb.isString(a.queryTwo)?Fb(a.queryTwo,c,e):c,i=Fb(g,h,e);return Rb.upload(b,Nb(a.queryOne[r](i))),b.queryOne=a.queryOne,f&&a.queryOne.removeAttribute("id"),b}},Hb=function(a,b,c,d){var e,f,g,h,i,j;try{if(a=Db(a),c){if(Rb.isWindow(b.queryOne))return d;if(b.queryOne==z)return c.find?Rb(a):d;if(b.queryOne&&a){if(f=c.filter,g=f?"":" ",e=Gb(b,d,a,f,g))return e;h=Fb(b.queryOne,a,g)}Rb.upload(d,Nb(z[r](h))),d.queryOne=h}else j=ib.exec(a),Rb.upload(d,j?(i=z[o](j[1]))?[i]:[]:Nb(z[r](a))),d.queryOne=a}catch(k){console.log(k.message)}return d},Ib=function(a,b,c){var d,e,f,g,h,i,j=new Rb;if(Rb.isString(a)){if(!c&&a.indexOf("<")>-1)for(d=Mb.getFragment(a),e=0,f=d.length;f>e;e++)if(Rb.isElem(d[e]))return Mb.comMode(j,d);if(a=qb(a),G&&-1!=(g=Hb(a,b,c,j)))return g;if(j.queryTwo=j.queryOne=!0,h="*"==a?[y]:Bb(a))if(f=h.length,1==f)Rb.upload(j,Ab(Jb(h[0],b,c)));else{for(i=[],e=0;f>e;e++)i=i.concat(Jb(h[e],b,c).slice());Rb.upload(j,Ab(i))}return j}return c?j:Sb.call(j,a,z)},Jb=function(a,b,c){var d,e,f;if($.test(a)&&(a="* "+a),d=Bb(a,!0)){if(e=d.length,c&&c.filter&&e>1)return new Rb;for(f=0;e>f;f++)b=Kb(d[f],f,b,c)}return b},Kb=function(a,b,c,d){var e,f,g="*"==a?[y]:a.match(ab),h=Mb.find,i=Mb.filter;if(g)for(e=0,f=g.length;f>e;e++)c=0==b?0==e?d?(d.find?h:i).call(c,g[0]):Sb.call(new Rb,g[0],z):i.call(c,g[e]):0==e?h.call(c,g[0]):i.call(c,g[e]);return c},Lb=function(a,b,c){var d,e=[];return this.each(function(){for(var c=this;null!=c&&(c=c[a],!c||1!=c.nodeType||(e.push(c),b)););}),d=Mb.comMode(new Rb,Ab(e)),Rb.isUndefined(c)?d:d.filter(c)},Mb={preventDefault:function(a){return function(){a.returnValue=!1}},elemCallback:function(){return 1===this.nodeType},styleNameArrRep:[function(a,b){return"-"+b},function(a,b){return b.toUpperCase()}],isElemProperty:function(a,b){var d,e=b.toLowerCase();return"class"==e?"className":"id"==e?"id":{value:1,checked:1,disabled:1,selected:1,type:1,readonly:1}.hasOwnProperty(e)&&(d=a.tagName,d&&e in z.createElement(d))?e:c},setInpType:function(a,b){var d,e,g=a.tagName;return"INPUT"==g?(d=a.outerHTML.replace(kb,'"+d+"",e=e[p]("input")[0],f.cloneEvent(a,e,1,0,1),Rb(a).stop(),a.parentNode.replaceChild(e,a),e):c},comMode:function(a,b){return a.queryTwo=a.queryOne=!0,Rb.upload(a,b,1),a},filterCallback:function(a,b,c){var d=[];return a.each(function(){var a=b.apply(this,arguments);(c&&null!=a||!c&&a)&&d.push(c?a:this)}),Mb.comMode(new Rb,d)},copyAttr:function(a,b){for(var c,d,e,f=a.attributes,g=(b.attributes,0),h=f.length;h>g;g++)c=f[g],e=c.value,d=c.name,e!=Mb.getAttr(b,d)&&Mb.setAttr(b,d,e)},readScript:function(a){for(var b="SCRIPT",c=0,d=[],e=a.length;e>c;c++)a[c].tagName!=b?a[c][p]&&(d=d.concat(Mb.readScript(a[c][p](b)))):Rb.isNodeCreateBody(a[c])||d.push(a[c]);return d},ieRunScript:function(a){for(var b,c,d=0,e=a.length;e>d;d++){c=a[d].getAttribute("src");try{c&&Rb.isString(c)&&Rb.isNodeCreateBody(a[d])?Rb.createScript({url:c,isDel:!0}):(b=a[d].innerHTML)&&Rb.isNodeCreateBody(a[d])&&Function(b)()}catch(f){console.log(f.message)}}},inChild:function(a,b){if(a==b)return!0;if(1==a.nodeType){if(a=a.childNodes,Rb.inArray(b,a)>-1)return!0;for(var c=Mb.inChild,d=0,e=a.length;e>d;d++)if(c(a[d],b))return!0}},eachChild:function(a,b){for(var c=Mb.inChild,d=0,e=b.length;e>d;d++)if(c(a,b[d]))return!0},cloneFragment:function(a,b,c,d){if(null!=a){c=1===c;for(var e,g,h,i=0,j=[],k=z.createDocumentFragment(),l=Mb.eachChild,m=a.length;m>i;i++)if(e=a[i],Rb.isDocNode(e)){if(c){if(!b&&l(e,d))continue;j.push(h=e)}else h=e.cloneNode(!0),b||f.cloneEvent(e,h,0,1);k.appendChild(h),g||(g=1)}return g&&[k,j]}},getFragment:function(a){var b,c,d,e,f,g,h,i=Rb.isIe();if((i=i&&9>i)&&(a="0"+a),b=z.createElement("div"),b.innerHTML=a,i)b.removeChild(b[p]("span")[0]);else for(e="script",f=b[p](e),g=0,h=f.length;h>g;g++)c=f[g],d=z.createElement(e),Mb.copyAttr(c,d),d.innerHTML=c.innerHTML,c.parentNode.replaceChild(d,c);return Nb(b.childNodes)},setAttr:function(a,b,c){var d=Mb.isElemProperty(a,b);if(d){if("type"==d&&h.att)return Mb.setInpType(a,c);a[d]=c}else a.setAttribute&&a.setAttribute(b,c)},getAttr:function(a,b){var c=Mb.isElemProperty(a,b);return c?""===a[c]?null:a[c]:a.getAttribute&&a.getAttribute(b)},show:function(a){"none"==a.style.display?(a.style.display="","none"==Mb.original(a,"display")&&(a.style.display=Mb.getDisplay(a.tagName))):a.style.display=Mb.getDisplay(a.tagName)},createKey:function(a){return Rb.isTxt(a)||(a=""),a+(""+Math.random()).slice(2)},attrSelect:function(a,b,c){for(var d,e,f=a[1],g=a[2],h=0,i=c.length;i>h;h++)d=c[h],d&&(e=Mb.getAttr(d,f),null!==e&&e!==!1&&(g&&e+""==g||!g)&&b.push(d))},bindHandle:function(a){a=qb(a);for(var b,d,e,g=0,i=Nb(arguments),j=this,k=j.length;k>g;g++)d=j[g],"object"==typeof d&&(e=h.add?c:d,(e||!e&&!b)&&(b=Mb.getEventObject([e].concat(i))),f.writeEvent(d,a,b))},getEventObject:function(a){var b,d=Mb.fnFunc("bindFn",a);return Rb.isObject(d)?b=d:(b={},b[a[1]]=Mb.bindCallback.apply(c,a)),{isOne:a[3],callback:a[2],event:b}},bindCallback:function(a,b,c,d,e,f){return function(g){g=Rb.eventCompatible(g,b);var h=a||this,i=g.target;Mb.runEventApp(h,b,c,d,e,g,i,f&&h)}},mouseFn:function(a){var b={};return b[{mouseenter:"mouseover",mouseleave:"mouseout"}[a.event]]=Mb.bindCallback(a.elem,a.event,Mb.mouse(a.event,a.callback,a.isOne),!1,a.agent,!0),b},mouse:function(a,b,d){return function(e,g){for(var h=e.relatedTarget;h&&h!=this;)try{h=h.parentNode}catch(i){break}return h==this||Rb.isWINDOC(this)?c:(d&&f.removeEvent(g,a,{isOne:!0,callback:b}),b.call(this,e))}},runEventApp:function(a,b,c,d,e,g,h,i){var j,k,l,m,n=!1;if(e){if(h)for(l=0,Rb.upload(j=e[1].filter(e[0]),e[1].find(e[0]).slice()),m=j.length;m>l;l++){k=j[l];try{(k==h||Rb.inArray(h,k[p](h.tagName))>-1)&&(c.call(k,g,i)===!1&&g.preventDefault(),n=!0)}catch(o){console.log(o.message)}}}else c.call(a,g,i)===!1&&g.preventDefault(),n=!0;return n&&d&&f.removeEvent(a,b,{isOne:!0,callback:c}),n},tapFn:function(a){var b,c,d,e=Mb.tapFn;return this instanceof e?(this.XY=[],b=this,c=function(c){b.touch(a,Rb.eventCompatible(c),this)},d={},d["doubleTap"==a.event?"dblclick":"click"]=d.touchstart=d.touchend=c,d):new e(a)},tapFnPrototype:{eveTime:0,touch:function(a,b,d){var e,f,g=a.elem,h=a.event,i=a.callback,j=a.isOne,k=a.agent,l=b.touches,m=!0;if(g||(g=d),l){if(l=l[0])return b.preventDefault(),this.XY[0]=l.pageX,this.XY[1]=l.pageY,c;if(l=b.changedTouches){if(l=l[0],"doubleTap"==h&&(this.eveTime&&(e=Date.now()-this.eveTime,this.eveTime=0),!e||e>800||0>e))return this.eveTime=Date.now(),c;(m=Math.abs(l.pageX-this.XY[0])<30||Math.abs(l.pageY-this.XY[1])<30)&&(f=l.target),this.XY=[]}}else f=b.target;m&&Mb.runEventApp(g,h,i,j,k,b,f)}},setScroll_LT:function(a,b){if(d)d[a]=b;else{var c=z[s],e=z.body;c?(c[a]=b,c[a]?d=c:e&&(e[a]=b,e[a]&&(d=e))):e&&(d=e,e[a]=b)}},getScroll_LT:function(a){var b,c,e;return d?d[a]:(b=z[s],c=z.body,b?(e=b[a])?(d=b,e):(e=c&&c[a],e?(d=c,e):0):c?(d=c,c[a]):0)},setS:function(a,b){return Rb.isUndefined(b)?Mb.getCS.call(this,a,!0):(b=parseFloat(b),Rb.isNumber(b)&&this.each(function(){try{Rb.isWINDOC(this)?Mb.setScroll_LT(a,b):this[a]=b}catch(c){console.log(c.message)}}),this)},winWH:function(a){var b=z[s]||z.body||!1,c="scroll"+a,d="client"+a;return b?Math.max(b[c],b[d]):0},getCS:function(a,b){var d=this[0];if(Rb.isWINDOC(d))return b?Mb.getScroll_LT(a):(z[s]||z.body||[])[a]||0;try{return d[a]}catch(e){return console.log(e.message),c}},getFilter:function(a){var b;return(b=Mb.original(a,"filter"))?(b=fb.exec(b),b=b?.01*parseInt(b[1]):1):b=1,b},getDisplay:function(a){if(bb.test(a))return"block";if(cb.test(a))return"inline";if(db.test(a))return"list-item";if(eb.test(a))return"inline-block";if("TD"==a)return"table-cell";if("TR"==a)return"table-row";var b=z.createElement(a),c=z.body,d=!1;return c&&(b.style.visibility="hidden",c.appendChild(b),d=Mb.original(b,"display"),c.removeChild(b)),d},seachIndex:function(a,b){return a[0]in b?a[0]:a[1]in b?a[1]:!1},isIndex:function(a,b){return a in b},jsonp:function(b){var c,d=qb(b.url),e=qb(b.jsonp),f=qb(b.jsonpCallback),g=b.success,h=b.timeout,i=b.error,j=b.data,k=Rb.isTxt(e),l=Rb.isString(f)?B(f):f=Mb.createKey("MingGe_jsonp");try{if(e=k?B(e):"callback",d=d.replace(T,function(a,b){return c=!0,(k?e:b)+"="+l}),c||(d=Rb.urlRevise(d,e+"="+l)),d=Rb.urlRevise(d,Rb.objToUrl(j)),null==a[f])return Rb.isFunction(b.complete)&&b.complete(),a[f]=function(a){Rb.isFunction(g)&&g(Mb.JsonString.StringToJson(a)||a,"success")},Rb.createScript({url:d,isDel:!0,success:function(){Rb.delVar(a,f)},error:function(){Rb.delVar(a,f),Rb.isFunction(i)&&i(505)},timeout:h}),!0}catch(m){Rb.isFunction(i)&&i(500)}return!1},fnFunc:function(a,b){var d=b[1]&&Rb[a][b[1]];return d&&Rb.isFunction(d)?d.call(Rb[a],{elem:b[0],event:b[1],callback:b[2],isOne:b[3],agent:b[4]}):c},htmlVal:function(a,b){var c=this;if(Rb.isUndefined(b))return c[0]?c[0][a]:null;if(!Rb.isTxt(b))try{b=""+b}catch(d){b=""}return Rb.each.call(c,function(){Mb.isIndex(a,this)&&(this[a]=b)}),this},original:function(b,c){var d=b.currentStyle||a.getComputedStyle(b,null);return d.getPropertyValue?d.getPropertyValue(Rb.styleName(c,!0)):d.getAttribute(c)},find:function(a){var b,c,d,e,f,g=new Rb;if(b=Qb(a))for(d=this,e=d.length,f=0;e>f;f++)(c=d[f])&&Ob.call(g,c,b);return g},filter:function(a){var b,c,d,e,f,g;if(a==y)return this;if(b=new Rb,b.queryOne=this.queryOne,c=vb(a),c&&c[3].Attr)Mb.attrSelect(c[2],b,this);else if(c)for(e=0,f=this,g=f.length;g>e;e++)(d=f[e])&&Rb.selectIndexOf(d[c[1]],c[2],c[3].Tag,c[3].Class)&&b.push(d);return b},animate:function(a,b,d,e){e=qb(e),e=Rb.isString(e)&&gb.test(e)?e:"ease-out";var g,h=Mb.transition+"TimingFunction",i={},j=this,k=function(){g&&(clearInterval(g),g=c);for(var a,b,e=0,i=j.length;i>e;e++)if(Rb.isElem(a=j[e]))try{f.getAnimate(a,[x])&&(b=a.style,b[Mb.transition]=b[h]=null,d.call(a))}catch(k){console.log(k.message)}};return i[Mb.transition]=b+"ms",i[h]=e,this.css(i),A(function(){j.css(a)},5),g=setInterval(Mb.timeCompute(Date.now(),b-1,k),5),this},cmdFun:function(a){a=Rb.trim(a);var b={"外前":"beforeBegin",beforeBegin:"beforeBegin","外后":"afterEnd",afterEnd:"afterEnd","内前":"afterBegin",afterBegin:"afterBegin"};try{if(b.hasOwnProperty(a)&&(b=b[a]))return b}catch(c){}return"beforeEnd"},insertHTML:function(a,b){b=Mb.cmdFun(b),a=qb(a);var c=z.body;return Rb.isTxt(a)&&this.each(function(){var d=Rb.isWINDOC(this)&&c?c:this;try{d.insertAdjacentHTML(b,a)}catch(e){console.log(e.message)}}),this},timeCompute:function(a,b,c){return function(){var d=Date.now()-a;(d>b||0>d)&&c()}},ajax:function(){this.erromsg=this.timeout=this.stop=this.xmlhttp=!1,this.transit=!0},ajaxPrototype:{get:function(a,b,c){return this.simplify(a,"get",!0,b,c,2e4,!0)},post:function(a,b,c){return this.simplify(a,"post",!0,b,c,2e4,!1)},getJSON:function(a,b,c){return this.simplify(a,"get",!0,b,c,2e4,!0,hb.test(a)?"jsonp":"json")},simplify:function(a,b,c,d,e,f,g,h){if(Rb.isFunction(d)){var i=e;e=d,d=i||null}return this.ajax({url:a,type:b,dataType:h,timeout:f,async:c,lock:!0,cache:g,complete:!1,data:d,success:e}),this},Del:function(a,b,c){this.stop!==!0&&(this.delAjaxEve(a),this.delProgress(a),this.timeout&&(clearTimeout(this.timeout),this.timeout=!1),this.erromsg=b,this.transit=!0,Rb.isFunction(c.error)&&c.error(b))},handle:function(a,b){if(4==a.readyState){if(this.stop===!0)return;if(this.transit=!0,this.timeout&&(clearTimeout(this.timeout),this.timeout=!1),200==a.status){this.delProgress(a),this.delAjaxEve(a);var c=qb(a.responseText);Rb.isFunction(b.success)&&("JSON"==b.dataType&&(c=Mb.JsonString.StringToJson(c)||c),b.success(c,"success"))}else this.Del(a,"状态:"+a.status,b)}else 0==a.readyState&&this.Del(a,0,b)},delProgress:function(a){var b="progressFunc",c=a[b];c&&(i(a.upload,"progress",c),Rb.delVar(a,b))},delAjaxEve:function(a){Rb.delVar(a,l)},out:function(a,b){this.delAjaxEve(b),this.delProgress(b),this.transit=!0,this.erromsg=504,this.stop=!0,Rb.isFunction(a.error)&&a.error(504)},ajax:function(b){var d,e,f,g;if(Rb.isString(b.url)){if(this.stop=this.erromsg=!1,b=Rb.extend({type:"GET",timeout:2e4,async:!0},b),b.timeout=Rb.reviseTime(b.timeout,2e4),Rb.isString(b.dataType)&&"JSONP"==(b.dataType=qb(b.dataType.toUpperCase())))return Mb.jsonp(b)||console.log('Operation failed, please check "jsonpCallback" settings'),c;if(!b.lock||this.transit){b.async=!!b.async,this.transit=!1,Rb.isString(b.type)&&(b.type=b.type.toUpperCase()),d=a.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),e=!0,b.data=Rb.objToUrl(b.data)||b.data,Rb.isTxt(b.data)?(b.data=qb(b.data),""===b.data&&(b.data=null)):"[object FormData]"==H.call(b.data)?(Rb.isFunction(b.progress)&&(d.progressFunc=b.progress,h(d.upload,"progress",b.progress)),e=!1,b.type="POST"):b.data=null,f=b.data,g=this,Rb.isFunction(b.complete)&&b.complete(),b.async&&(d[l]=function(){g.handle(d,b)}),b.timeout&&b.async&&(this.timeout=A(function(){g.timeout=!1,g.out(b,d)},b.timeout));try{switch(b.type){case"POST":d.open("POST",b.url,b.async),e&&d.setRequestHeader("Content-Type","application/x-www-form-urlencoded");break;default:d.open("GET",Rb.urlRevise(b.url,f),b.async),f=null,b.cache===!0||d.setRequestHeader("If-Modified-Since","0")}d.send(f)}catch(i){return this.Del(d,i,b),c}!b.async&&g.handle(d,b)}}}},JsonString:{_json_:null,JsonToString:function(b,c){var d,e;try{return d=a.JSON,!c&&d&&(d=d.stringify)?Rb.isObjArr(b)?d(b):!1:(this._json_=[],this._read_(b,!0),e=xb(this._json_.join("").replace(U,wb[2])),this._json_=null,e)}catch(f){return console.log("Format does not match, conversion fails"),!1}},StringToJson:function(b,c){if(Rb.isString(b)){try{if(null==c&&V[0].test(b.replace(V[1],"@").replace(V[2],"]").replace(V[3],"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):Function("return ("+b+")")();if(c){var d=Function("return ("+b+")")();if(Rb.isObjArr(d))return d}}catch(e){console.log(e.message)}return!1}},_addjson_:function(a,b,c){this._json_.push(a==m?b:c)},_addstring_:function(a){var b=typeof a;return"string"===b?'"'+zb(a)+'"':"number"===b&&!isNaN(a)||null===a||"boolean"===b?a+"":Rb.isObjArr(a)?!1:'""'},_read_:function(a,b){var c,d,e=Rb.isObjArr(a);if(b&&!e)return console.log("Your incoming is not an array or JSON"),this._json_=null;this._addjson_(e,"{","[");for(c in a)a.hasOwnProperty(c)&&(d=this._addstring_(a[c]),d===!1?(this._addjson_(e,'"'+zb(c)+'":',""),this._read_(a[c])):this._addjson_(e,'"'+zb(c)+'":'+d+",",d+","));b=b?"":",",this._addjson_(e,"}"+b,"]"+b)}},style:function(a,b,c){var d,e,f,g,h,i;return c=Rb.isTxt(c)?qb(c):"",sb.test(b)?(d=RegExp(""+b+"\\s?\\((.*)\\)","i"),e=a[Mb.transform],c?b+="("+c+")":b="",f=[Mb.transform,e?d.test(e)?e.replace(d,b):e+" "+b:b]):"opacity"==b?("opacity"==Mb.opacity?(g=parseFloat(c,10),f=["opacity",isNaN(g)?null:g]):(h=a.filter,i="NaN"==parseInt(c,10)+""?"":"alpha(opacity="+100*c+")",f=lb.test(h)?["filter",h.replace(lb,i)]:["filter",i]),f):[b,c]},readyComplete:function(a,b,c){h(z,b,function(){(c||"complete"==z.readyState)&&(i(z,b,arguments.callee),a.call(z,Rb))})},ieReady:function(b){var d,e,f;try{d=a.frameElement,z[s].doScroll("left"),e=!0}catch(g){}return d?Mb.readyComplete(b,k):e||null!=d?(b.call(z,Rb),c):(f=arguments.callee,A(function(){f(b)},13))},ready:function(a){return h.add?Mb.readyComplete(a,"DOMContentLoaded",!0):(Mb.ieReady(a),c)}},Nb=function(a){try{return ob.call(a)}catch(b){for(var c=[],d=0,e=a.length;e>d;d++)c[d]=a[d];return c}},Ob=function(a,b){var d,e,f,g,h,i,j,k=b[1];if(k[3].Attr)return Mb.attrSelect(k[2],this,a[p]("*"));if(b[0]||k[3].Id&&z===a)return d=k[2],e=a[k[0]](d==y?"*":d),e&&Rb.upload(this,k[3].Id?[e]:Nb(e)),c;for(h=a[p]("*"),i=0,j=h.length;j>i;i++)(f=h[i])&&(g=qb(f[k[1]]),g&&Rb.selectIndexOf(g,k[2],k[3].Tag,k[3].Class)&&this.push(f))},Pb=function(a){return null==a?!1:Rb.isArray(a)||a instanceof Rb?a.slice():a.item&&!Rb.isWindow(a)&&Rb.isArray(a=Nb(a))?a:[a]},Qb=function(a){var b=vb(a);return b?[b[3].Tag||F&&b[3].Class,b]:!1},Rb=a.MingGe=function(a){return this instanceof Rb?c:Ib(a)},Sb=function(a,b){var c,d;return Rb.isFunction(a)?(this.push(this.queryOne=z),Mb.ready(a)):Rb.isString(a)&&(c=Qb(a))?Ob.call(this,b,c):a==z||Rb.isElem(a)?(this.queryOne=a,this.push(a)):(d=Pb(a),d&&Mb.comMode(this,d)),this};Rb.bindFn={},Rb.fn=Rb.prototype={version:"你使用的版本是"+j,queryOne:!1,queryTwo:!1,is:function(a){switch(a=qb(a)){case":animate":return!!f.getAnimate(this[0],[x]);default:return!1}},offset:function(){var a=this[0];return a&&a.getBoundingClientRect?a.getBoundingClientRect():[]},append:function(a){return this.createNode(a,"beforeEnd")},prepend:function(a){return this.createNode(a,"afterBegin")},appendTo:function(a){return Rb(a).createNode(this,"beforeEnd"),this},prependTo:function(a){return Rb(a).createNode(this,"afterBegin"),this},before:function(a){return this.createNode(a,"beforeBegin")},after:function(a){return this.createNode(a,"afterEnd")},createNode:function(a,b){var c,d,e,f,g,h,i,j;try{if(Rb.isTxt(a))c=Mb.getFragment(a),d=!0;else if(!(c=Pb(a)))return this}catch(k){return console.log(k.message),this}return e=z.body,b=Mb.cmdFun(b),f=0,g=this,h=Mb.cloneFragment,i=Rb.isIe(),i&&9>i&&(j=Mb.readScript(c)),this.each(function(){var a,i,j,k=Rb.isWINDOC(this)&&e?e:this;if(Rb.isDocNode(k)&&(a=k.parentNode,i=h(c,d,++f,g),i&&(j=i[0],1===f&&(c=i[1])),j&&k.insertBefore&&k.appendChild))switch(b){case"beforeBegin":a&&a.insertBefore(j,k);break;case"afterBegin":k.insertBefore(j,k.firstChild);break;case"afterEnd":a&&a.insertBefore(j,k.nextSibling);break;default:k.appendChild(j)}}),j&&Mb.ieRunScript(j),this},load:function(a,b){if(Rb.isFunction(a))return this.bind("load",a);if(Rb.isString(a)){var c=this;Rb[null==b?"get":"post"](a,b,function(a){c.each(function(){var b=Mb.seachIndex(["value","innerHTML"],this);b&&(this[b]=a)})})}else 0==arguments.length&&ub.call(this,"load");return this},insertHTML:Mb.insertHTML,stop:function(){return Mb.transition?this.each(function(){if(f.getAnimate(this,[x])){f.delAnimate(this);var a=Mb.transition+"TimingFunction",b=this.style;b[Mb.transition]=b[a]=null}}):this},fadeToggle:function(a,b){return this.each(function(){"none"==Mb.original(this,"display")?Rb(this).fadeIn(a,b):Rb(this).fadeOut(a,b)})},clone:function(a){var b=[];return this.each(function(){if(this.cloneNode){var c=this.cloneNode(!0);(a||!h.add)&&(f.cloneEvent(this,c,0,1),a||(f.removeEvent(c,null,{}),Rb(c).find("*").unbind())),b.push(c)}}),Mb.comMode(new Rb,b)},add:function(a){if(Rb.isString(a))var b=Nb(Rb(a));else(b=Pb(a))||(b=[]);return Mb.comMode(new Rb,this.slice().concat(b))},attr:function(a,b){var c=this,d=this[0],e=Rb.isUndefined(b),f=Mb.setAttr;return d?Rb.isObject(a)?(this.each(function(b){var d=this;Rb.each(a,function(a,e){if(Rb.isString(a)&&(Rb.isTxt(e)||Rb.isBoolean(e))){var g=f(d,a,e);g&&(d=c[b]=g)}})}),this):e?Rb.isString(a)?Mb.getAttr(d,a):null:(Rb.isString(a)&&(Rb.isTxt(b)||Rb.isBoolean(b))&&this.each(function(d){var e=f(this,a,b);e&&(c[d]=e)}),this):e?null:this},fadeOut:function(a,b){var c=new Rb;return this.each(function(){1==this.nodeType&&("none"==Mb.original(this,"display")||f.getAnimate(this,[x])||c.push(this))}),Mb.transition?c.animate({opacity:0},a,function(){Rb(this).css({display:"none",opacity:null}),Rb.isFunction(b)&&b.call(this)},"ease"):c.css("display","none"),this},hide:function(){return this.each(function(){1==this.nodeType&&"none"!=Mb.original(this,"display")&&(this.style.display="none")}),this},getFormData:function(b,c){var d,e,f,g,h,i,j,k,l;if(Rb.isString(b)){if(!Rb.isFunction(a.FormData))return null;for(c=parseInt(c),g=new FormData,h=Rb.isNumber(c),i=0,j=[],k=this.length;k>i;i++)if(d=this[i],e=d.files)for(length=e.length,h&&length>c&&(length=c),l=0;length>l;l++)j.push(f=b+"_"+i+"_"+l),g.append(f,e[l]);return{data:g,name:j}}},show:function(){return this.each(function(){1==this.nodeType&&"none"==Mb.original(this,"display")&&Mb.show(this)}),this},fadeIn:function(a,b){var c=new Rb;return this.each(function(){if(1==this.nodeType&&"none"==Mb.original(this,"display")){if(f.getAnimate(this,[x]))return;Mb.transition&&Rb(this).css("opacity",0),c.push(this),Mb.show(this)}}),Mb.transition&&A(function(){c.animate({opacity:1},a,function(){Rb(this).css("opacity",null),Rb.isFunction(b)&&b.call(this)},"ease")},5),this},animate:function(a,b,c,d){var e,g,h,i,j,k,l,m,n,o;if(!Mb.transition)return this.css(a),this;if(!Rb.isObject(a))return this;for(e=typeof b,("number"!==e||isNaN(b))&&("string"===e?(b=qb(b),b=pb.hasOwnProperty(b)?pb[b]:Rb.reviseTime(b,500)):(Rb.isFunction(b)&&(c=b),b=500)),Rb.isFunction(c)||(g=d,d=c,c=Rb.isFunction(g)?g:E),h=function(){var a,b,d=f.getAnimate(this,[w]);Rb.isArray(d)&&d.length>0?(a=new Rb,b=d[0],a.push(this),d.splice(0,1),Mb.animate.apply(a,b)):f.delAnimate(this),c.call(this)},k=0,l=new Rb,m=[a,b,h,d],n=this.length;n>k;k++)i=this[k],i&&1!=i.nodeType||(o=f.getAnimate(i),o&&o[x]?o[w]?o[w].push(m):o[w]=[m]:(f.setAnimate(i,[x,1]),l.push(i),j||(j=!0)));return j&&Mb.animate.apply(l,m),this},empty:function(){return this.each(function(){if(1==this.nodeType){var a=Mb.seachIndex(["value","innerHTML"],this);a&&(this[a]="")}})},remove:function(){var a=[];return this.each(function(){try{this.parentNode.removeChild(this),Rb(this).unbind().stop()}catch(b){a.push(this)}}),Rb.upload(this,a,1),this},on:function(a,b,c,d){return Rb.isFunction(b)&&(d=c,c=b),this.bind(a,c,d,b)},bind:function(a,b,d,e){if(d=d===!0,e=Rb.isString(e)?[e,this]:c,Rb.isString(a)&&Rb.isFunction(b))Mb.bindHandle.call(this,a,b,d,e);else if(Rb.isObject(a))for(var f in a)a.hasOwnProperty(f)&&Rb.isFunction(a[f])&&Mb.bindHandle.call(this,f,a[f],d,e);return this},unbind:function(a,b){var d,e,g,h,i=typeof a;if("function"==i)b=a,a=c;else if(d=typeof b,"string"!=i&&"undefined"!=i||"function"!=d&&"undefined"!=d)return this;for(a=qb(a),g=0,h=this.length;h>g;g++)e=this[g],"object"==typeof e&&f.removeEvent(e,a,{callback:b});return this},one:function(a,b){return this.bind(a,b,!0)},ready:function(a){return Rb.isFunction(a)&&Mb.ready(a),this},children:function(a){var b=Mb.elemCallback;return Rb.isUndefined(a)?this.contents(b):this.contents(a).filter(b)},contents:function(a){var b,c=[];return this.each(function(){c=c.concat(Nb(this.childNodes))}),b=Mb.comMode(new Rb,Ab(c)),Rb.isUndefined(a)?b:b.filter(a)},toString:function(){return"\u005b\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u004d\u0069\u006e\u0067\u0047\u0065\u005d"},parent:function(a){return Lb.call(this,"parentNode",0,a)},siblings:function(a){var b=Lb.call(this,"previousSibling",1,a),c=Lb.call(this,"nextSibling",1,a);return Rb.upload(b,c.slice()),Rb.upload(b,Ab(b),1),b},prev:function(a){return Lb.call(this,"previousSibling",0,a)},prevAll:function(a){return Lb.call(this,"previousSibling",1,a)},next:function(a){return Lb.call(this,"nextSibling",0,a)},nextAll:function(a){return Lb.call(this,"nextSibling",1,a)},addClass:function(a){return Rb.isString(a)&&(a=qb(a),this.each(function(){if(1===this.nodeType){var b=this.className||"";b=Ab(qb(b+" "+a).split(/\s+/)).join(" "),""==b||(this.className=b)}})),this},hasClass:function(a){try{if(Rb.isString(a)){var b,c=0,d=this.length;for(a=qb(a);d>c;c++)if(b=this[c].className,b&&Rb.selectIndexOf(b,a,0,1))return!0}}catch(e){console.log(e.message)}return!1},removeAttr:function(a){return Rb.isString(a)&&(a=qb(a),this.each(function(){var b=Mb.isElemProperty(this,a);b&&(this[b]=""),this.removeAttribute&&this.removeAttribute(a)})),this},removeClass:function(a){return Rb.isString(a)?(a="("+qb(a).replace(W,"|")+")",this.each(function(){if(1===this.nodeType){var b=this.className;if(b)try{this.className=b=qb(b.replace(W," ").replace(RegExp("(^|\\s)"+a+"($|\\s)","g")," "))}catch(c){console.log(c.message)}}})):Rb.isUndefined(a)&&this.each(function(){1===this.nodeType&&this.className&&(this.className="")}),this},find:function(a){return Ib(a,this,{find:!0})},map:function(a){return Rb.isFunction(a)?Mb.filterCallback(this,a,!0):new Rb},filter:function(a){if(Rb.isFunction(a))return Mb.filterCallback(this,a);var b=Ib(a,this,{filter:!0});return b},index:function(a){try{if(Rb.isUndefined(a)){var b=this[0];return Rb.inArray(b,Rb(b.parentNode).children())}return Rb.inArray(a instanceof Rb?a[0]:a,this)}catch(c){return-1}},eq:function(a){var b=new Rb,c=this;return b=null==a?this:(a=0>a?c.length+a:a,c.hasOwnProperty(a)&&b.push(b.queryOne=c[a]),b)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},size:function(){return this.length},each:function(a){if(Rb.isFunction(a))for(var b,c=this.length,d=0;c>d;d++)try{b=this[d],null!=b&&a.call(b,d,c)}catch(e){console.log(e.message)}return this},clientWidth:function(){return Mb.getCS.call(this,"clientWidth")},clientHeight:function(){return Mb.getCS.call(this,"clientHeight")},scrollWidth:function(){return Mb.getCS.call(this,"scrollWidth")},scrollHeight:function(){return Mb.getCS.call(this,"scrollHeight")},scrollLeft:function(a){return Mb.setS.call(this,"scrollLeft",a)},scrollTop:function(a){return Mb.setS.call(this,"scrollTop",a)},hover:function(a,b){return this.bind({mouseenter:a,mouseleave:b})},val:function(a){return Mb.htmlVal.call(this,"value",a)},html:function(a){return Mb.htmlVal.call(this,"innerHTML",a)},text:function(a){return Mb.htmlVal.call(this,Mb.isIndex("textContent",C)?"textContent":"innerText",a)},css:function(a,b){var c,d,e,f,g=0,h={},i=typeof a,j=this,k=j.length;if("string"===i){if(a=Rb.styleName(qb(a)),Rb.isUndefined(b)){if(!(c=j[0])||!Rb.isElem(c))return null;if(sb.test(a)){if(f=c.style[Mb.transform])try{return g=RegExp(""+a+"\\s?\\((.*)\\)","i").exec(f),g&&g[1]}catch(l){console.log(l.message)}return null}return"opacity"!=a&&"filter"!=a||"filter"!=Mb.opacity?Mb.original(c,a):Mb.getFilter(c)}for(g=0;k>g;g++)if(c=j[g],Rb.isElem(c))try{e=c.style,h=Mb.style(e,a,b),e[h[0]]=h[1]}catch(l){console.log(l.message)}}else if(Rb.isObject(a))for(g=0;k>g;g++)if(c=j[g],Rb.isElem(c)){e=c.style;for(d in a)try{0==g&&a.hasOwnProperty(d)&&(h[d]=Mb.style(e,Rb.styleName(d),a[d])),h[d]&&(e[h[d][0]]=h[d][1])}catch(l){console.log(l.message)}}return this},get:function(a){var b=this;return null==a?b.slice():(a=0>a?b.length+a:a,b.hasOwnProperty(a)&&b[a])},push:nb,slice:ob,splice:D.splice,pop:D.pop,indexOf:D.indexOf,shift:D.shift,sort:D.sort,unshift:D.unshift,toLocaleString:D.toLocaleString,join:D.join,reverse:D.reverse,length:0},Rb.fn.extend=Rb.extend=Rb.bindFn.extend=function(){var a,b,c,d,e,f=arguments.length;if(1==f&&H.call(arguments[0])==m){b=!1;for(a in arguments[0])a in this||(this[a]=arguments[0][a],b=!0);return b}if(f>1){for(c=arguments,d=1,e=c[0];f>d;d++)e=rb(e,c[d]);return e}return!1},Mb.ajax.prototype=Mb.ajaxPrototype,Rb.extend({data:function(a){return Rb.isUndefined(a)?f:new e(a)},copyObject:function(a){if(Rb.isObjArr(a)){var b,c=a.constructor();for(b in a)a.hasOwnProperty(b)&&(c[b]=arguments.callee(a[b]));return c}return a},isWindow:function(b){return!!(b==a||null!=b&&b.window==a&&b.document&&b.open)},isWINDOC:function(a){return a==z||Rb.isWindow(a)},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},isObjArr:function(a,b){var c=b||H.call(a);return(Rb.isObject(a,c)||c===n)&&c},listToArray:Nb,trim:qb,parseJSON:function(a,b){return Mb.JsonString.StringToJson(a,b)},toJSON:function(a,b){return Mb.JsonString.JsonToString(a,b)},noConflict:function(){return Rb.delVar(a,b),Rb},isDocNode:function(a){return!!a&&(1===a.nodeType||3===a.nodeType)},isNode:function(a){return!!a&&Rb.isNumber(a.nodeType)},isElem:function(a){return!!a&&1===a.nodeType},isObject:function(a,b){return"object"==typeof a&&(b||H.call(a))==m&&a==m},isPlainObject:function(a,b){return Rb.isObject(a,b)&&a.constructor==Object},isArray:function(a,b){return!!a&&(b||H.call(a))===n},isFunction:function(a,b){return!!a&&"[object Function]"===(b||H.call(a)) 11 | },isEmptyObject:function(a){for(var b in a)if(a.hasOwnProperty&&a.hasOwnProperty(b)&&null!=a[b])return!1;return!0},pushArray:function(a,b){return Rb.isArray(a)?(a.push(b),a):[b]},selectIndexOf:function(a,b,c,d){if(a===b)return!0;try{if(c&&(a=a.toLowerCase(),b=b.toLowerCase()),d){var e=" ";return(e+a+e).indexOf(e+b+e)>-1}return a==b}catch(f){return!1}},addCompleteEvent:function(a,b,d,e,f){if(b||d||e){f=Rb.reviseTime(f,1e4);var g="onload"in a?["load","error"]:[k],j=function(){var b=g[0]==k,c=a.readyState;if(!b||b&&("complete"==c||"interactive"==c)){l(!0);try{Rb.isFunction(d)&&d()}catch(e){console.log(e.message)}}},l=function(d){m&&clearTimeout(m)&&(m=c),i(a,g[0],j),g[1]&&i(a,g[1],l);try{d===!0||Rb.isFunction(e)&&e()}catch(f){console.log(f.message)}b&&a.parentNode&&a.parentNode.removeChild(a)},m=A(l,f);h(a,g[0],j),g[1]&&h(a,g[1],l)}},createScript:function(a){var b,d,e,f,g,h,i=z[p]("head").item(0);return i&&Rb.isObject(a)&&Rb.isString(a.url)?(b=a.url,d=a.isDel,e=a.timeout,f=a.success,g=a.error,h=z.createElement("script"),h.src=b,i.appendChild(h),Rb.addCompleteEvent(h,d,f,g,e),[i,h]):c},post:function(a,b,c){return(new Mb.ajax).post(a,b,c)},get:function(a,b,c){return(new Mb.ajax).get(a,b,c)},getJSON:function(a,b,c){return(new Mb.ajax).getJSON(a,b,c)},ajax:function(a){var b=new Mb.ajax;return Rb.isObject(a)&&b.ajax(a),b},styleName:function(a,b){var c=Mb.styleNameArrRep;try{return b?a.replace(X,c[0]):a.replace(Y,c[1])}catch(d){return console.log(d.message),a}},delVar:function(a,b){var d;if(b in a){try{d=delete a[b]}catch(e){}try{d||(a[b]=c)}catch(e){a[b]=E}return!0}return!1},delEmptyObjArr:function(a){var b,d,e,f=Rb.delEmptyObjArr,g=H.call(a),h=Rb.isArray(a,g),i=Rb.isObject(a,g);if(h||i){if(b=!0,d=!1,h)for(e=a.length-1;e>-1;e--)b=!1,null==a[e]?(d=!0,a.splice(e,1)):null==(a[e]=f(a[e]))&&(d=!0);else if(i)for(e in a)a.hasOwnProperty(e)&&(b=!1,null==a[e]?(d=!0,Rb.delVar(a,e)):null==(a[e]=f(a[e]))&&(d=!0));b?a=c:d&&(a=f(a))}return a},isBoolean:function(a){return"boolean"==typeof a},userAgent:tb(navigator.userAgent),isIe:function(){return"msie"===this.userAgent.browser?this.userAgent.version.charAt(0):!1},isTxt:function(a){var b=typeof a;return"string"==b||"number"==b&&!isNaN(a)},isNumber:function(a){return!(null===a||isNaN(a))},isUndefined:function(a){return c===a},reviseTime:function(a,b){return!isNaN(a=parseFloat(a))&&a>0?a:b||0},isString:function(a){return"string"==typeof a},removArray:Ab,isNodeCreateBody:function(a){for(;a;){if("BODY"==a.tagName)return!0;a=a.parentNode}return!1},each:function(a,b){var c,d,e,f=0;if(null==a)return!1;if(Rb.isArray(a)||a.item&&!Rb.isWindow(a)||(c=Rb.isFunction(a)))for(c&&(b=a,a=this),e=a.length;e>f;f++)try{d=a[f],null!=d&&b.call(d,f,d,e)}catch(g){console.log(g.message)}else{if(!Rb.isObject(a)||!Rb.isFunction(b))return!1;for(f in a)if(a.hasOwnProperty(f))try{d=a[f],null!=d&&b.call(d,f,d)}catch(g){console.log(g.message)}}return!0},eventCompatible:function(b,c){if(b||(b=a.event),1==h.att){var d=b.srcElement,e="mouseenter"==c?"fromElement":"toElement";d&&(b.target=d),e&&(b.relatedTarget=b[e]),"returnValue"in b&&(b.preventDefault=Mb.preventDefault(b))}return b},upload:function(a,b,c){c&&a.splice(0,a.length);try{nb.apply(a,b)}catch(d){for(var e=0,f=b.length;f>e;e++)a.push(b[e])}},runEventApp:Mb.runEventApp,setInpType:Mb.setInpType,objToUrl:function(a){var b="";return Rb.each(a,function(a,c){Rb.isTxt(c)&&(b+=B(a)+"="+B(c)+"&")}),b.replace(Z,"")},getMobile:function(){var a=navigator.userAgent,b=a.match(/(Android)\s+([\d.]+)/),c=a.match(/(iPad).*OS\s([\d_]+)/),d=!c&&a.match(/(iPhone\sOS)\s([\d_]+)/),e=a.match(/(webOS|hpwOS)[\s\/]([\d.]+)/),f=(e&&a.match(/TouchPad/),a.match(/Kindle\/([\d.]+)/)),g=a.match(/Silk\/([\d._]+)/),h=a.match(/(BlackBerry).*Version\/([\d.]+)/);return{webkit:"webkit"==this.userAgent.browser,android:b&&b[2],ipad:c&&c[2].replace(/_/g,"."),iphone:d&&d[2].replace(/_/g,"."),webos:e&&e[2],kindle:f&&f[1],silk:g?g[1]:b&&a.match(/Kindle Fire/),blackberry:h&&h[2]}},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var c=0,d=b.length;d>c;c++)if(b[c]===a)return c;return-1},bubbling:ub,urlRevise:function(a,b){return""!==b&&Rb.isTxt(b)&&(a+=jb.test(a)?"&"+b:"?"+b),a},window:{},isHtml5:function(){return!!z.createElement("canvas").getContext},_protected:Mb,html5Attribute:function(a){var b,c,d,e,f;try{for(b=!1,c=Rb.isString(a)?Rb.styleName(a):"transform",a=c.replace(R,a.charAt(0).toUpperCase()),d=C.style,e=[c,"Ms"+a,"Moz"+a,"Webkit"+a,"O"+a],f=0;5>f;f++)if(e[f]in d){b=e[f];break}}catch(g){console.log(g.message)}return b}}),Mb.tapFn.prototype=Mb.tapFnPrototype,Rb.bindFn.extend({tap:Mb.tapFn,doubleTap:Mb.tapFn,mouseenter:Mb.mouseFn,mouseleave:Mb.mouseFn}),e=function(a){var b=H.call(a);(this.isObject=Rb.isObject(a,b))||Rb.isArray(a,b)?this.dataCache=a:(this.isObject=!0,this.dataCache={})},e.prototype={isObject:null,eachCache:function(a,b,c){for(var d=0;c>d;d++)try{a=a[b[d]]}catch(e){break}return a},searchCache:function(){var a=arguments,b=a.length;return this.eachCache(this.dataCache,a,b)},getElem:function(a,b,d){return a&&(Rb.isWindow(a)&&(a=Rb.window),b=a[b])?(d=Rb.isArray(d)?[b].concat(d):[b],this.searchCache.apply(this,d)):c},delElem:function(a,b,d,e){var f,g;return a&&(Rb.isWindow(a)&&(a=Rb.window),f=b,b=a[b])?(d=Rb.isArray(d)?[b].concat(d):[b],g=this.delCache.apply(this,d),e&&this.delEmpty(),(!this.dataCache[b]||Rb.isEmptyObject(this.dataCache[b]))&&Rb.delVar(a,f),g):c},setElem:function(a,b,c){if(a){if(Rb.isWindow(a)&&(a=Rb.window),!a[b]){var d=Mb.createKey();if(this.dataCache[d])return this.setElem.apply(this,arguments);this.dataCache[d]={},a[b]=d}if(Rb.isArray(c))return this.setCache.apply(this,[a[b]].concat(c))}},setCache:function(){var a,b=arguments,c=this.dataCache,d=b.length,e=d-2;if(d>1){for(a=0;e>a;a++)Rb.isObjArr(c[b[a]])||(c[b[a]]={}),c=c[b[a]];return c[b[e]]=b[d-1],!0}},delEmpty:function(){return Rb.delEmptyObjArr(this.dataCache)||(this.dataCache=this.isObject?{}:[])},key:Mb.createKey(),eventHandle:function(a,b,c){var d,e,f,g=!1,j=b.event;if(Rb.isObject(b)&&Rb.isObject(j)&&(c==h&&Rb.isFunction(b.callback)||c==i))for(f in j)j.hasOwnProperty(f)&&(Rb.isArray(j[f])?(d=j[f][1]||a,e=j[f][0]):(d=a,e=j[f]),Rb.isFunction(e)&&c(d,qb(f),e)&&(g=!0));return g},cloneEvent:function(a,b,c,d,e){var f,g,i,j,k,l=v+this.key,m=this.getElem(a,l);if(m){if(e||h.add){for(f in m)if(m.hasOwnProperty(f))for(g=m[f],i=0,k=g.length;k>i;i++)this.writeEvent(b,f,g[i])}else Rb.delVar(b,l),this.setElem(b,l,[Rb.copyObject(m)]);c&&this.removeEvent(a,null,{})}if(d&&a[p])for(m=a[p]("*"),j=b[p]("*"),i=0,k=m.length;k>i;i++)this.cloneEvent(m[i],j[i],c,d)},writeEvent:function(a,b,c){var d,e,f=this.eventHandle(a,c,h);return f&&(d=v+this.key,e=this.getElem(a,d,[b]),Rb.isArray(e)?e.push(c):this.setElem(a,d,[b,[c]])),f},forDelEvent:function(a,b,c,d,e){for(var f=!1,g=e.callback,h=e.isOne,j=0,k=a.length;k>j;j++)if(a[j].callback==g||!g){if(h===!0&&a[j].isOne!==!0)continue;this.eventHandle(b,a[j],i),this.delElem(b,c,[d,j]),f=!0}return f},delAnimate:function(a){return this.delElem(a,u+this.key)},getAnimate:function(a,b){return this.getElem(a,u+this.key,b)},setAnimate:function(a,b){this.setElem(a,u+this.key,b)},removeEvent:function(a,b,c){var d,e,f,g=v+this.key,h=!1;if(Rb.isString(b))d=this.getElem(a,g,[b]),Rb.isArray(d)&&(h=this.forDelEvent(d,a,g,b,c));else if(e=this.getElem(a,g))for(f in e)e.hasOwnProperty(f)&&Rb.isArray(e[f])&&this.forDelEvent(e[f],a,g,f,c)&&(h=!0);return this.delEmpty(),Rb.isWindow(a)&&(a=Rb.window),a[g]&&!this.dataCache[a[g]]&&Rb.delVar(a,g),h},delCache:function(){var a=arguments,b=a.length-1,d=this.eachCache(this.dataCache,a,b);return d&&a[b]in d?b=Rb.delVar(d,a[b]):c}},f=new e({}),Rb.each(["width","height","top","left"],function(a,b){Rb.fn[b]=function(a,b){return function(c){if(null==c){var d=this[0],e="offset"+b;if(!d)return null;if(Rb.isWINDOC(d)){if("Width"==b)return Mb.winWH("Width");if("Height"==b)return Mb.winWH("Height");if(!(d=z.body))return null}return e in d?d[e]:null}return c=parseFloat(c),isNaN(c)?this:this.css(a,c+"px")}}(b,b.replace(R,b.charAt(0).toUpperCase()))}),Rb.fn.off=Rb.fn.unbind,g=function(a){return function(b,c,d){var e="on"+c,f=a?["removeEventListener","detachEvent"]:["addEventListener","attachEvent"];if(b[f[0]])b[f[0]](c,d,!1);else if(b[f[1]])b[f[1]](e,d);else{if(!(e in b))return!1;if(a)try{b[e]=null}catch(g){b[e]=E,console.log(g.message)}else b[e]=d}return!0}},h=Rb.addEvent=g(),i=Rb.delEvent=g(!0),g=c,z.addEventListener?h.add=1:z.attachEvent?h.att=1:h.on=1,Date.now||(Date.now=function(){return(new Date).getTime()}),a.console&&console.log||(a.console={log:function(){}}),Rb.isFunction(a.define)&&define.amd?define(j,function(){return MingGe}):"object"==typeof exports&&(module.exports=MingGe),function(a){var b,d=0,e=Rb.html5Attribute;for(Mb.transition=e("transition"),Mb.opacity=e("opacity")||"filter",Mb.transform=e("transform");b=a[d++];)Rb.fn[b]=function(a){return function(b){return Rb.isUndefined(b)?(ub.call(this,a),this):this.bind(a,b)}}(b);a=d=c}(["blur","focus","focusin","focusout","resize","scroll","unload","click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave","change","select","submit","keydown","keypress","keyup","error","touchstart","touchmove","touchend","touchcancel","tap","doubleTap","input","propertychange"]),a[b]=Rb}(window,"$"); -------------------------------------------------------------------------------- /MingGe_1.9.6.5.js: -------------------------------------------------------------------------------- 1 | /* 2 | * MingGeJs类库1.9.6.5.2016超强正式版 3 | * 4 | * 你会用JQUERY,那你也会用这个类库,因为语法都是一样的,那有开发文档吗?和JQUERY一样,要开发文档干嘛? 5 | * 6 | * MingGeJs的运行绝对比JQUERY快,MingGejs是你的最佳选择,请多多支持, 7 | * 8 | * 作者:明哥先生-QQ399195513 QQ群:461550716 官网:www.shearphoto.com 9 | */ 10 | (function(window, varName, undefined) { 11 | var MingGeJs = "MingGe_1.9.6.5", 12 | statech = "readystatechange", 13 | onStatech = "on" + statech, 14 | strObject = "[object Object]", 15 | strArray = "[object Array]", 16 | getById = "getElementById", 17 | getByTagName = "getElementsByTagName", 18 | getByClassName = "getElementsByClassName", 19 | querySelect = "querySelectorAll", 20 | DOCE = "documentElement", 21 | MGNotNode = "#MingGe#NotNode", 22 | MGAN = "MingGeAnimate", 23 | MGBD = "MingGeBind", 24 | AnimateList = "mingGeAnimateList", 25 | isAnimate = "isMingGeAnimate", 26 | MG2016 = "MingGeAllElem2016", 27 | DOC = document, 28 | ST = window.setTimeout, 29 | ENCODE = window.encodeURIComponent, 30 | virDiv = DOC.createElement("div"), 31 | virArr = [], 32 | emptyFunc = function() {}, 33 | isGetClassName = !!DOC[getByClassName], 34 | isQuery = !!DOC[querySelect], 35 | toString = Object.prototype.toString, 36 | rquickExpr = /^(?:#([\w\u00c0-\uFFFF\-]+)|(\w+)|\.([\w\u00c0-\uFFFF\-]+))$/, 37 | attrExpr = /^\[\s?([\w\u00c0-\uFFFF\-]+)\s?(?:=\s?[\"\'](.+?)[\"\']\s?)?\]$/, 38 | beanExpr = /[^\,]+/g, 39 | spaceExpr = /[^\s]+/g, 40 | AZExpr = /^[\w\u00c0-\uFFFF\-]+|\*/, 41 | trimExpr = /^(\s|\u00A0)+|(\s|\u00A0)+$/g, 42 | filterSpecialExpr = [/[\t\r\n\f\v]/g, 43 | /[\x00-\x1f\x7f-\x9f\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, 44 | /\\([\}\]])/g 45 | ], 46 | stripslashesExpr = /[\]\}\"\\\/]/g, 47 | attrMergeExpr = [/((?:\[[^\[\]]+\])+)([\w\u00c0-\uFFFF\-]+|\*)/g, 48 | /([\.#]?[\w\u00c0-\uFFFF\-]+|\*)<<<(.+?)>>>/g 49 | ], 50 | wExpr = /^[\w\*]/, 51 | beanEndExpr = /,+$/, 52 | jsonpExpr = /([^\?&\\\/]+?)\s*=\s*\?+$/, 53 | JsonToExpr = /,([\}\]])/g, 54 | StringToExpr = [/^[\],:{}\s]*$/, 55 | /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, 56 | /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, 57 | /(?:^|:|,)(?:\s*\[)+/g 58 | ], 59 | blankendExpr = /\s+/g, 60 | uppercaseAZExpr = /([A-Z])/g, 61 | convertuppercaseExpr = /-([a-z])/gi, 62 | specialSignExpr = /&+$/, 63 | idSpotExpr = /^#[\w\u00c0-\uFFFF\-]+[^\w\u00c0-\uFFFF\-]|^\*+\#/, 64 | hornSignExpr = /(<<<|>>>)/g, 65 | EvenLabelExpr = /(\[.+?\]|[\.#]?([\w\u00c0-\uFFFF\-]+))/g, 66 | blockExpr = /^(div|ul|p|h1|h2|h3|h4|h5|h6|dd|dt|dl|ol|table|nav|form|hr)$/i, 67 | inlineExpr = /^(span|ul|b|a|em|strong|img|label)$/i, 68 | listItemExpr = /^li$/i, 69 | inlineBlockExpr = /^(input|button|textarea|select|option)$/i, 70 | opacitySignExpr = /opacity\s*=\s*([0-9]+)/, 71 | animateExpr = /^(linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier\s*\(.+\))$/, 72 | getJSONExpr = /[\?&]+.+\s*=\s*\?/, 73 | selectorExpr = /^#([\w\u00c0-\uFFFF\-]+)$/, 74 | questionExpr = /\?/, 75 | setInpTypeExpr = /^\<\s*input/i, 76 | ralpha = /alpha\([^)]*\)/, 77 | myMatchExpr = [/\[[^\[\]]*(\s)[^\[\]]*\]/g, 78 | /\s/g, 79 | /<<@>>/g, 80 | /\[[^\[\]]*(\,)[^\[\]]*\]/g, 81 | /\,/g, 82 | /<<\uff0c>>/g 83 | ], 84 | push = virArr.push, 85 | slice = virArr.slice, 86 | DOCSCROLL_LT, 87 | showFast = { 88 | fast: 200, 89 | slow: 600, 90 | normal: 400 91 | }, 92 | trim = function(str) { 93 | try { 94 | return str.replace(trimExpr, ""); 95 | } catch (e) { 96 | return str; 97 | } 98 | }, 99 | repObject = function(arg0, arg1) { 100 | if (D.isObjArr(arg0) && D.isObjArr(arg1)) { 101 | D.each(arg1, function(i, str) { 102 | arg0[i] = str; 103 | }); 104 | } 105 | return arg0; 106 | }, 107 | transformReg = /^\s*(matrix3d|translate3d|translateX|translateY|translateZ|scale3d|scaleX|scaleY|scaleZ|rotate3d|rotateX|rotateY|rotateZ|perspective|matrix|translate|translateX|translateY|scale|scaleX|scaleY|rotate|skew|skewX|skewY)\s*$/i, 108 | uaMatch = function(ua) { 109 | ua = ua.toLowerCase(); 110 | var match = /(webkit)[ \/]([\w.]+)/.exec(ua) || 111 | /(opera)(?:.*version)?[ \/]([\w.]+)/.exec(ua) || 112 | /(msie) ([\w.]+)/.exec(ua) || 113 | !/compatible/.test(ua) && /(mozilla)(?:.*? rv:([\w.]+))?/.exec(ua) || []; 114 | return { 115 | browser: match[1] || "", 116 | version: match[2] || "0" 117 | }; 118 | }, 119 | bubbling = function(eveName) { 120 | D.each.call(this, function() { 121 | var arr = $data.getElem(this, MGBD + $data.key, [eveName]), 122 | arrI, CB; 123 | if (D.isArray(arr)) { 124 | var i = arr.length - 1; 125 | for (; i > -1; i--) { 126 | arrI = arr[i]; 127 | if (D.isObject(arrI) && D.isFunction(CB = arrI.callback)) { 128 | $data.removeEvent(this, eveName, { 129 | isOne: true, 130 | callback: CB 131 | }); 132 | CB.call(this); 133 | } 134 | } 135 | } 136 | }); 137 | }, 138 | analyse = function(string) { 139 | var match = rquickExpr.exec(string), 140 | returnArray = false; 141 | if (match === null) { 142 | if (match = string.match(attrExpr)) { 143 | returnArray = [null, null, match, { 144 | Attr: true 145 | }]; 146 | } 147 | } else if (match[1]) { 148 | returnArray = [getById, "id", match[1], { 149 | Id: true 150 | }]; 151 | } else if (match[2]) { 152 | returnArray = [getByTagName, "tagName", match[2], { 153 | Tag: true 154 | }]; 155 | } else { 156 | returnArray = [getByClassName, "className", match[3], { 157 | Class: true 158 | }]; 159 | } 160 | return returnArray; 161 | }, 162 | fSArrFunc = [function(un) { 163 | return { 164 | "\t": "\\t", 165 | "\r": "\\r", 166 | "\n": "\\n", 167 | "\f": "\\f", 168 | "\v": "\\v" 169 | }[un]; 170 | }, function(un) { 171 | return "\\u" + ("000" + un.charCodeAt(0).toString(16)).slice(-4); 172 | }, function(all, b) { 173 | return b; 174 | }], 175 | filterSpecial = function(str) { 176 | return str.replace(filterSpecialExpr[0], fSArrFunc[0]).replace(filterSpecialExpr[1], fSArrFunc[1]).replace(filterSpecialExpr[2], fSArrFunc[2]); 177 | }, 178 | stripslashesRep = function(str) { 179 | return "\\" + str; 180 | }, 181 | stripslashes = function(str) { 182 | return str.replace(stripslashesExpr, stripslashesRep); 183 | }, 184 | removing = function(array) { 185 | var i = 0, 186 | arr = [], 187 | length = array.length; 188 | if (array && (length || (array.item && !D.isWindow(array)))) { 189 | for (; i < length; i++) { 190 | D.inArray(array[i], arr) == -1 && arr.push(array[i]); 191 | } 192 | } 193 | return arr; 194 | }, 195 | myMatch = function(str, isSpace) { 196 | var is; 197 | if (isSpace) { 198 | var txt = " ", 199 | temp = "<<@>>", 200 | expr = spaceExpr, 201 | replExp = myMatchExpr[0], 202 | ArepExp = myMatchExpr[1], 203 | forExp = myMatchExpr[2]; 204 | } else { 205 | txt = ",", temp = "<<\uff0c>>", expr = beanExpr, replExp = myMatchExpr[3], ArepExp = myMatchExpr[4], 206 | forExp = myMatchExpr[5]; 207 | } 208 | str = str.replace(replExp, function(all, b) { 209 | is = true; 210 | return all.replace(ArepExp, temp); 211 | }); 212 | var match = str.match(expr); 213 | if (match && is) { 214 | var i = 0, 215 | length = match.length; 216 | for (; i < length; i++) { 217 | match[i] = match[i].replace(forExp, txt); 218 | } 219 | } 220 | return match; 221 | }, 222 | attrMergeRep = function(all, b, c) { 223 | if (wExpr.test(b)) { 224 | if (b == "*") return c; 225 | if (c == "*") return b; 226 | return b.toLowerCase() == c.toLowerCase() ? b : MGNotNode; 227 | } 228 | return c + b; 229 | }, 230 | attrMerge = function(str) { 231 | var is, str = str.replace(attrMergeExpr[0], function(all, b, c) { 232 | is = true; 233 | return "<<<" + c + ">>>" + b; 234 | }); 235 | if (is) { 236 | str = str.replace(attrMergeExpr[1], attrMergeRep).replace(hornSignExpr, ""); 237 | return attrMerge(str); 238 | } 239 | return str; 240 | }, 241 | mergeFilter = function(strI, strII) { 242 | if (wExpr.test(strII)) { 243 | var m = myMatch(strI, true); 244 | if (m) { 245 | var end = m.length - 1, 246 | AZI = m[end].match(AZExpr); 247 | if (AZI) { 248 | var AZII = strII.match(AZExpr); 249 | if (AZI[0].toLowerCase() == AZII[0].toLowerCase() || AZII[0] == "*") { 250 | return strI + strII.replace(AZExpr, ""); 251 | } 252 | if (AZI[0] == "*") { 253 | return attrMerge(strI.replace("*", "") + strII); 254 | } 255 | } else { 256 | m[end] = strII + m[end]; 257 | return m.join(" "); 258 | } 259 | } 260 | } else return strI + strII; 261 | return MGNotNode; 262 | }, 263 | mergeSelector = function(strOne, strTwo, txt) { 264 | var matchOne = myMatch(strOne), 265 | matchTwo = myMatch(strTwo); 266 | if (matchOne && matchTwo) { 267 | var merge = "", 268 | contxt, spanTrue = txt == " ", 269 | i = 0, 270 | length = matchOne.length, 271 | lengthII = matchTwo.length; 272 | for (; i < length; i++) { 273 | contxt = matchOne[i] + txt; 274 | for (var ii = 0; ii < lengthII; ii++) { 275 | merge += spanTrue ? contxt + matchTwo[ii] + "," : mergeFilter(contxt, matchTwo[ii]) + ","; 276 | } 277 | } 278 | return merge == "" ? MGNotNode : merge.replace(beanEndExpr, ""); 279 | } 280 | }, 281 | selectorId = function(getObj, newD, selector, isFilter, space) { 282 | if (getObj.queryTwo === true) return -1; 283 | if (D.isElem(getObj.queryOne)) { 284 | if (isFilter) return -1; 285 | var MingGeId = "#" + (getObj.queryOne.id || (remove = true, getObj.queryOne.id = "tempMingGeId2016")), 286 | remove, queryTwo = newD.queryTwo = D.isString(getObj.queryTwo) ? mergeSelector(getObj.queryTwo, selector, space) : selector, 287 | merge = mergeSelector(MingGeId, queryTwo, space); 288 | D.upload(newD, listToArray(getObj.queryOne[querySelect](merge))); 289 | newD.queryOne = getObj.queryOne; 290 | remove && getObj.queryOne.removeAttribute("id"); 291 | return newD; 292 | } 293 | }, 294 | mySelector = function(selector, getObj, findTrue, newD) { 295 | try { 296 | selector = attrMerge(selector); 297 | if (findTrue) { 298 | if (D.isWindow(getObj.queryOne)) { 299 | return newD; 300 | } 301 | if (getObj.queryOne == DOC) { 302 | return findTrue.find ? D(selector) : newD; 303 | } 304 | if (getObj.queryOne && selector) { 305 | var isFilter = findTrue.filter, 306 | returns, space = isFilter ? "" : " "; 307 | if (returns = selectorId(getObj, newD, selector, isFilter, space)) { 308 | return returns; 309 | } 310 | var merge = mergeSelector(getObj.queryOne, selector, space); 311 | } 312 | D.upload(newD, listToArray(DOC[querySelect](merge))); 313 | newD.queryOne = merge; 314 | } else { 315 | var match = selectorExpr.exec(selector), 316 | getid; 317 | D.upload(newD, match ? 318 | (getid = DOC[getById](match[1])) ? [getid] : [] : listToArray(DOC[querySelect](selector))); 319 | newD.queryOne = selector; 320 | } 321 | } catch (e) { 322 | console.log(e.message); 323 | } 324 | return newD; 325 | }, 326 | canonicalStructure = function(selector, getObj, findTrue) { 327 | var newD = new D(); 328 | if (D.isString(selector)) { 329 | if (!findTrue && selector.indexOf("<") > -1) { 330 | var fr = protected.getFragment(selector), 331 | i = 0, 332 | length = fr.length; 333 | for (; i < length; i++) 334 | if (D.isElem(fr[i])) return protected.comMode(newD, fr); 335 | } 336 | selector = trim(selector); 337 | var myQuery; 338 | if (isQuery && (myQuery = mySelector(selector, getObj, findTrue, newD)) != -1) return myQuery; 339 | newD.queryTwo = newD.queryOne = true; 340 | var match = selector == "*" ? [MG2016] : myMatch(selector); 341 | if (match) { 342 | var length = match.length; 343 | if (length == 1) { 344 | D.upload(newD, removing(space(match[0], getObj, findTrue))); 345 | } else { 346 | var nodeList = [], 347 | i = 0; 348 | for (; i < length; i++) { 349 | nodeList = nodeList.concat(space(match[i], getObj, findTrue).slice()); 350 | } 351 | D.upload(newD, removing(nodeList)); 352 | } 353 | } 354 | return newD; 355 | } 356 | return findTrue ? newD : init.call(newD, selector, DOC); 357 | }, 358 | space = function(selector, getObj, findTrue) { 359 | if (idSpotExpr.test(selector)) selector = "* " + selector; 360 | var match = myMatch(selector, true); 361 | if (match) { 362 | var leng = match.length; 363 | if (findTrue && findTrue.filter && leng > 1) { 364 | return new D(); 365 | } 366 | for (var i = 0; i < leng; i++) { 367 | getObj = EvenLabel(match[i], i, getObj, findTrue); 368 | } 369 | } 370 | return getObj; 371 | }, 372 | EvenLabel = function(selector, num, obj, findTrue) { 373 | var match = selector == "*" ? [MG2016] : selector.match(EvenLabelExpr), 374 | find = protected.find, 375 | filter = protected.filter; 376 | if (match) { 377 | for (var i = 0, length = match.length; i < length; i++) { 378 | if (num == 0) { 379 | if (i == 0) { 380 | obj = findTrue ? (findTrue.find ? find : filter).call(obj, match[0]) : init.call(new D(), match[0], DOC); 381 | } else { 382 | obj = filter.call(obj, match[i]); 383 | } 384 | } else { 385 | obj = i == 0 ? find.call(obj, match[0]) : filter.call(obj, match[i]); 386 | } 387 | } 388 | } 389 | return obj; 390 | }, 391 | commandNode = function(cmd, isAll, selector) { 392 | var array = []; 393 | this.each(function() { 394 | var elem = this; 395 | while (elem != null) { 396 | elem = elem[cmd]; 397 | if (elem && elem.nodeType == 1) { 398 | array.push(elem); 399 | if (!isAll) break; 400 | } 401 | } 402 | }); 403 | var newD = protected.comMode(new D(), removing(array)); 404 | return D.isUndefined(selector) ? newD : newD.filter(selector); 405 | }, 406 | protected = { 407 | preventDefault: function(event) { 408 | return function() { 409 | event.returnValue = false; 410 | }; 411 | }, 412 | elemCallback: function() { 413 | return this.nodeType === 1; 414 | }, 415 | styleNameArrRep: [function(all, letter) { 416 | return "-" + letter; 417 | }, function(all, letter) { 418 | return letter.toUpperCase(); 419 | }], 420 | isElemProperty: function(elem, str) { 421 | var strLow = str.toLowerCase(); 422 | if (strLow == "class") return "className"; 423 | if (strLow == "id") return "id"; 424 | if ({ 425 | value: 1, 426 | checked: 1, 427 | disabled: 1, 428 | selected: 1, 429 | type: 1, 430 | readonly: 1 431 | }.hasOwnProperty(strLow)) { 432 | var tagName = elem.tagName; 433 | if (tagName && strLow in DOC.createElement(tagName)) return strLow; 434 | } 435 | }, 436 | setInpType: function(elem, type) { 437 | var tagName = elem.tagName; 438 | if (tagName == "INPUT") { 439 | var outerHTML = elem.outerHTML.replace(setInpTypeExpr, '"; 442 | div = div[getByTagName]("input")[0]; 443 | $data.cloneEvent(elem, div, 1, 0, 1); 444 | D(elem).stop(); 445 | elem.parentNode.replaceChild(div, elem); 446 | return div; 447 | } 448 | }, 449 | comMode: function(newD, array) { 450 | newD.queryTwo = newD.queryOne = true; 451 | D.upload(newD, array, 1); 452 | return newD; 453 | }, 454 | filterCallback: function(this_, callback, isMap) { 455 | var array = []; 456 | this_.each(function() { 457 | var retu = callback.apply(this, arguments); 458 | if (isMap && retu != null || !isMap && retu) { 459 | array.push(isMap ? retu : this); 460 | } 461 | }); 462 | return protected.comMode(new D(), array); 463 | }, 464 | copyAttr: function(A, B) { 465 | var Aattr = A.attributes, 466 | Battr = B.attributes, 467 | Aattri, AattriName, AattriValue, i = 0, 468 | length = Aattr.length; 469 | for (; i < length; i++) { 470 | Aattri = Aattr[i]; 471 | AattriValue = Aattri.value; 472 | AattriName = Aattri.name; 473 | if (AattriValue != protected.getAttr(B, AattriName)) { 474 | protected.setAttr(B, AattriName, AattriValue); 475 | } 476 | } 477 | }, 478 | readScript: function(node) { 479 | var tag = "SCRIPT", 480 | i = 0, 481 | arr = [], 482 | length = node.length; 483 | for (; i < length; i++) { 484 | if (node[i].tagName != tag) { 485 | if (node[i][getByTagName]) { 486 | arr = arr.concat(protected.readScript(node[i][getByTagName](tag))); 487 | } 488 | } else if (!D.isNodeCreateBody(node[i])) { 489 | arr.push(node[i]); 490 | } 491 | } 492 | return arr; 493 | }, 494 | ieRunScript: function(node) { 495 | var scriptHtml, 496 | url, 497 | i = 0, 498 | length = node.length; 499 | for (; i < length; i++) { 500 | url = node[i].getAttribute("src"); 501 | try { 502 | if (url && D.isString(url) && D.isNodeCreateBody(node[i])) { 503 | D.createScript({ 504 | url: url, 505 | isDel: true 506 | }); 507 | } else if ((scriptHtml = node[i].innerHTML) && D.isNodeCreateBody(node[i])) { 508 | Function(scriptHtml)(); 509 | } 510 | } catch (e) { 511 | console.log(e.message); 512 | } 513 | } 514 | }, 515 | inChild: function(node, nodei) { 516 | if (node == nodei) { 517 | return true; 518 | } 519 | if (node.nodeType != 1) { 520 | return; 521 | } 522 | node = node.childNodes; 523 | if (D.inArray(nodei, node) > -1) { 524 | return true; 525 | } 526 | var eachChild = protected.inChild, 527 | i = 0, 528 | length = node.length; 529 | for (; i < length; i++) { 530 | if (eachChild(node[i], nodei)) return true; 531 | } 532 | }, 533 | eachChild: function(node, nodeList) { 534 | var inChild = protected.inChild, 535 | i = 0, 536 | length = nodeList.length; 537 | for (; i < length; i++) { 538 | if (inChild(node, nodeList[i])) return true; 539 | } 540 | }, 541 | cloneFragment: function(nodeList, boole, tally, notList) { 542 | if (nodeList == null) return; 543 | tally = tally === 1; 544 | var nodeListi, i = 0, 545 | newList = [], 546 | is, clone, fragment = DOC.createDocumentFragment(), 547 | eachChild = protected.eachChild, 548 | length = nodeList.length; 549 | for (; i < length; i++) { 550 | nodeListi = nodeList[i]; 551 | if (D.isDocNode(nodeListi)) { 552 | if (tally) { 553 | if (!boole && eachChild(nodeListi, notList)) { 554 | continue; 555 | } 556 | newList.push(clone = nodeListi); 557 | } else { 558 | clone = nodeListi.cloneNode(true); 559 | boole || $data.cloneEvent(nodeListi, clone, 0, 1); 560 | } 561 | fragment.appendChild(clone); 562 | is || (is = 1); 563 | } 564 | } 565 | return is && [fragment, newList]; 566 | }, 567 | getFragment: function(HTML) { 568 | var ie678 = D.isIe(); 569 | if (ie678 = (ie678 && ie678 < 9)) { 570 | HTML = "0" + HTML; 571 | } 572 | var overall = DOC.createElement("div"); 573 | overall.innerHTML = HTML; 574 | if (ie678) { 575 | overall.removeChild(overall[getByTagName]("span")[0]); 576 | } else { 577 | var tag = "script", 578 | scriptElem = overall[getByTagName](tag), 579 | scriptElemi, 580 | script, 581 | i = 0, 582 | length = scriptElem.length; 583 | for (; i < length; i++) { 584 | scriptElemi = scriptElem[i]; 585 | script = DOC.createElement(tag); 586 | protected.copyAttr(scriptElemi, script); 587 | script.innerHTML = scriptElemi.innerHTML; 588 | scriptElemi.parentNode.replaceChild(script, scriptElemi); 589 | } 590 | } 591 | return listToArray(overall.childNodes); 592 | }, 593 | setAttr: function(elem, key, val) { 594 | var keyII = protected.isElemProperty(elem, key); 595 | if (keyII) { 596 | if (keyII == "type" && addEvent.att) { 597 | return protected.setInpType(elem, val); 598 | } 599 | elem[keyII] = val; 600 | } else elem.setAttribute && elem.setAttribute(key, val); 601 | }, 602 | getAttr: function(elem, key) { 603 | var keyII = protected.isElemProperty(elem, key); 604 | if (keyII) { 605 | if (elem[keyII] === "") return null; 606 | return elem[keyII]; 607 | } 608 | return elem.getAttribute && elem.getAttribute(key); 609 | }, 610 | show: function(this_) { 611 | if (this_.style.display == "none") { 612 | this_.style.display = ""; 613 | protected.original(this_, "display") == "none" && (this_.style.display = protected.getDisplay(this_.tagName)); 614 | } else { 615 | this_.style.display = protected.getDisplay(this_.tagName); 616 | } 617 | }, 618 | createKey: function(str) { 619 | D.isTxt(str) || (str = ""); 620 | return str + Math.random().toString().slice(2); 621 | }, 622 | attrSelect: function(mat, this_, nodeList) { 623 | var matchI = mat[1], 624 | matchII = mat[2], 625 | elem, i = 0, 626 | getattr, length = nodeList.length; 627 | for (; i < length; i++) { 628 | elem = nodeList[i]; 629 | if (!elem) continue; 630 | getattr = protected.getAttr(elem, matchI); 631 | if (getattr !== null && getattr !== false && (matchII && String(getattr) == matchII || !matchII)) { 632 | this_.push(elem); 633 | } 634 | } 635 | }, 636 | bindHandle: function(eveName, callback, isOne, agent) { 637 | eveName = trim(eveName); 638 | var eventObject, elem, i = 0, 639 | this_, A = listToArray(arguments), 640 | listArr = this, 641 | length = listArr.length; 642 | for (; i < length; i++) { 643 | elem = listArr[i]; 644 | if (typeof elem != "object") continue; 645 | this_ = addEvent.add ? undefined : elem; 646 | if (this_ || !this_ && !eventObject) { 647 | eventObject = protected.getEventObject([this_].concat(A)); 648 | } 649 | $data.writeEvent(elem, eveName, eventObject); 650 | } 651 | }, 652 | getEventObject: function(A) { 653 | var bindFn = protected.fnFunc("bindFn", A); 654 | if (D.isObject(bindFn)) { 655 | var eveObj = bindFn; 656 | } else { 657 | eveObj = {}; 658 | eveObj[A[1]] = protected.bindCallback.apply(undefined, A); 659 | } 660 | return { 661 | isOne: A[3], 662 | callback: A[2], 663 | event: eveObj 664 | }; 665 | }, 666 | bindCallback: function(this_, eveName, callback, isOne, agent, isMouse) { 667 | return function(eve) { 668 | eve = D.eventCompatible(eve, eveName); 669 | var this__ = this_ || this, 670 | tar = eve.target; 671 | protected.runEventApp(this__, eveName, callback, isOne, agent, eve, tar, isMouse && this__); 672 | }; 673 | }, 674 | mouseFn: function(arg) { 675 | var obj = {}; 676 | obj[{ 677 | mouseenter: "mouseover", 678 | mouseleave: "mouseout" 679 | }[arg.event]] = protected.bindCallback(arg.elem, arg.event, protected.mouse(arg.event, arg.callback, arg.isOne), false, arg.agent, true); 680 | return obj; 681 | }, 682 | mouse: function(eveName, callback, isOne) { 683 | return function(event, this__) { 684 | var relate = event.relatedTarget; 685 | while (relate && relate != this) { 686 | try { 687 | relate = relate.parentNode; 688 | } catch (e) { 689 | break; 690 | } 691 | } 692 | if (relate == this || D.isWINDOC(this)) return; 693 | isOne && $data.removeEvent(this__, eveName, { 694 | isOne: true, 695 | callback: callback 696 | }); 697 | return callback.call(this, event); 698 | }; 699 | }, 700 | runEventApp: function(this_, eveName, callback, isOne, agent, eve, targ, this__) { 701 | var is = false; 702 | if (agent) { 703 | if (targ) { 704 | var allElem, elem, i = 0; 705 | D.upload(allElem = agent[1].filter(agent[0]), agent[1].find(agent[0]).slice()); 706 | var length = allElem.length; 707 | for (; i < length; i++) { 708 | elem = allElem[i]; 709 | try { 710 | if (elem == targ || D.inArray(targ, elem[getByTagName](targ.tagName)) > -1) { 711 | if (callback.call(elem, eve, this__) === false) { 712 | eve.preventDefault(); 713 | } 714 | is = true; 715 | } 716 | } catch (e) { 717 | console.log(e.message); 718 | } 719 | } 720 | } 721 | } else { 722 | if (callback.call(this_, eve, this__) === false) { 723 | eve.preventDefault(); 724 | } 725 | is = true; 726 | } 727 | if (is && isOne) $data.removeEvent(this_, eveName, { 728 | isOne: true, 729 | callback: callback 730 | }); 731 | return is; 732 | }, 733 | tapFn: function(arg) { 734 | var fn = protected.tapFn; 735 | if (!(this instanceof fn)) { 736 | return new fn(arg); 737 | } 738 | this.XY = []; 739 | var this_ = this, 740 | touchEvent = function(event) { 741 | this_.touch(arg, D.eventCompatible(event), this); 742 | }; 743 | var touchObj = {}; 744 | touchObj[arg.event == "doubleTap" ? "dblclick" : "click"] = touchObj.touchstart = touchObj.touchend = touchEvent; 745 | return touchObj; 746 | }, 747 | tapFnPrototype: { 748 | eveTime: 0, 749 | touch: function(arg, event, this_) { 750 | var elem = arg.elem, 751 | tapStr = arg.event, 752 | callback = arg.callback, 753 | isOne = arg.isOne, 754 | agent = arg.agent, 755 | touches = event.touches, 756 | isRun = true; 757 | elem || (elem = this_); 758 | if (touches) { 759 | if (touches = touches[0]) { 760 | event.preventDefault(); 761 | this.XY[0] = touches.pageX; 762 | this.XY[1] = touches.pageY; 763 | return; 764 | } 765 | touches = event.changedTouches; 766 | if (touches) { 767 | touches = touches[0]; 768 | if (tapStr == "doubleTap") { 769 | if (this.eveTime) { 770 | var time = Date.now() - this.eveTime; 771 | this.eveTime = 0; 772 | } 773 | if (!time || time > 800 || time < 0) { 774 | this.eveTime = Date.now(); 775 | return; 776 | } 777 | } 778 | if (isRun = Math.abs(touches.pageX - this.XY[0]) < 30 || Math.abs(touches.pageY - this.XY[1]) < 30) { 779 | var target = touches.target; 780 | } 781 | this.XY = []; 782 | } 783 | } else { 784 | target = event.target; 785 | } 786 | isRun && protected.runEventApp(elem, tapStr, callback, isOne, agent, event, target); 787 | } 788 | }, 789 | setScroll_LT: function(name, num) { 790 | if (DOCSCROLL_LT) { 791 | DOCSCROLL_LT[name] = num; 792 | } else { 793 | var DOCELEMENT = DOC[DOCE], 794 | DOCBODY = DOC.body; 795 | if (DOCELEMENT) { 796 | DOCELEMENT[name] = num; 797 | if (DOCELEMENT[name]) { 798 | DOCSCROLL_LT = DOCELEMENT; 799 | } else if (DOCBODY) { 800 | DOCBODY[name] = num; 801 | if (DOCBODY[name]) { 802 | DOCSCROLL_LT = DOCBODY; 803 | } 804 | } 805 | } else if (DOCBODY) { 806 | DOCSCROLL_LT = DOCBODY; 807 | DOCBODY[name] = num; 808 | } 809 | } 810 | }, 811 | getScroll_LT: function(name) { 812 | if (DOCSCROLL_LT) { 813 | return DOCSCROLL_LT[name]; 814 | } 815 | var DOCELEMENT = DOC[DOCE], 816 | DOCBODY = DOC.body; 817 | if (DOCELEMENT) { 818 | var val = DOCELEMENT[name]; 819 | if (val) { 820 | DOCSCROLL_LT = DOCELEMENT; 821 | return val; 822 | } 823 | val = DOCBODY && DOCBODY[name]; 824 | if (val) { 825 | DOCSCROLL_LT = DOCBODY; 826 | return val; 827 | } 828 | return 0; 829 | } 830 | if (DOCBODY) { 831 | DOCSCROLL_LT = DOCBODY; 832 | return DOCBODY[name]; 833 | } 834 | return 0; 835 | }, 836 | setS: function(name, num) { 837 | if (D.isUndefined(num)) { 838 | return protected.getCS.call(this, name, true); 839 | } 840 | num = parseFloat(num); 841 | if (D.isNumber(num)) { 842 | this.each(function() { 843 | try { 844 | if (D.isWINDOC(this)) { 845 | protected.setScroll_LT(name, num); 846 | } else { 847 | this[name] = num; 848 | } 849 | } catch (e) { 850 | console.log(e.message); 851 | } 852 | }); 853 | } 854 | return this; 855 | }, 856 | winWH: function(WH) { 857 | var bo = DOC[DOCE] || DOC.body || false, 858 | sWH = "scroll" + WH, 859 | cWH = "client" + WH; 860 | return bo ? Math.max(bo[sWH], bo[cWH]) : 0; 861 | }, 862 | getCS: function(name, is) { 863 | var node = this[0]; 864 | if (D.isWINDOC(node)) { 865 | return is ? protected.getScroll_LT(name) : (DOC[DOCE] || DOC.body || [])[name] || 0; 866 | } 867 | try { 868 | return node[name]; 869 | } catch (e) { 870 | console.log(e.message); 871 | return; 872 | } 873 | }, 874 | getFilter: function(elem) { 875 | var ori; 876 | if (ori = protected.original(elem, "filter")) { 877 | ori = opacitySignExpr.exec(ori); 878 | ori = ori ? parseInt(ori[1]) * .01 : 1; 879 | } else ori = 1; 880 | return ori; 881 | }, 882 | getDisplay: function(tag) { 883 | if (blockExpr.test(tag)) { 884 | return "block"; 885 | } 886 | if (inlineExpr.test(tag)) { 887 | return "inline"; 888 | } 889 | if (listItemExpr.test(tag)) { 890 | return "list-item"; 891 | } 892 | if (inlineBlockExpr.test(tag)) { 893 | return "inline-block"; 894 | } 895 | if (tag == "TD") { 896 | return "table-cell"; 897 | } 898 | if (tag == "TR") { 899 | return "table-row"; 900 | } 901 | var create = DOC.createElement(tag), 902 | bodys = DOC.body, 903 | returns = false; 904 | if (bodys) { 905 | create.style.visibility = "hidden"; 906 | bodys.appendChild(create); 907 | returns = protected.original(create, "display"); 908 | bodys.removeChild(create); 909 | } 910 | return returns; 911 | }, 912 | seachIndex: function(arr, elem) { 913 | return arr[0] in elem ? arr[0] : arr[1] in elem ? arr[1] : false; 914 | }, 915 | isIndex: function(index, elem) { 916 | return index in elem; 917 | }, 918 | jsonp: function(arg) { 919 | var url = trim(arg.url), 920 | jsonp = trim(arg.jsonp), 921 | jsonpCallback = trim(arg.jsonpCallback), 922 | success = arg.success, 923 | timeout = arg.timeout, 924 | erro = arg.error, 925 | data = arg.data, 926 | isReg, isTxt = D.isTxt(jsonp), 927 | callName = D.isString(jsonpCallback) ? 928 | ENCODE(jsonpCallback) : jsonpCallback = protected.createKey("MingGe_jsonp"); 929 | try { 930 | jsonp = isTxt ? ENCODE(jsonp) : "callback"; 931 | url = url.replace(jsonpExpr, function(a, b) { 932 | isReg = true; 933 | return (isTxt ? jsonp : b) + "=" + callName; 934 | }); 935 | if (!isReg) { 936 | url = D.urlRevise(url, jsonp + "=" + callName); 937 | } 938 | url = D.urlRevise(url, D.objToUrl(data)); 939 | if (window[jsonpCallback] == null) { 940 | D.isFunction(arg.complete) && arg.complete(); 941 | window[jsonpCallback] = function(data) { 942 | D.isFunction(success) && success(protected.JsonString.StringToJson(data) || data, "success"); 943 | }; 944 | D.createScript({ 945 | url: url, 946 | isDel: true, 947 | success: function() { 948 | D.delVar(window, jsonpCallback); 949 | }, 950 | error: function() { 951 | D.delVar(window, jsonpCallback); 952 | D.isFunction(erro) && erro(505); 953 | }, 954 | timeout: timeout 955 | }); 956 | return true; 957 | } 958 | } catch (e) { 959 | D.isFunction(erro) && erro(500); 960 | } 961 | return false; 962 | }, 963 | fnFunc: function(bindFn, arg) { 964 | var fn = arg[1] && D[bindFn][arg[1]]; 965 | if (fn && D.isFunction(fn)) { 966 | return fn.call(D[bindFn], { 967 | elem: arg[0], 968 | event: arg[1], 969 | callback: arg[2], 970 | isOne: arg[3], 971 | agent: arg[4] 972 | }); 973 | } 974 | }, 975 | htmlVal: function(hv, str) { 976 | var node = this; 977 | if (D.isUndefined(str)) return node[0] ? node[0][hv] : null; 978 | if (!D.isTxt(str)) { 979 | try { 980 | str = str.toString(); 981 | } catch (e) { 982 | str = ""; 983 | } 984 | } 985 | D.each.call(node, function() { 986 | protected.isIndex(hv, this) && (this[hv] = str); 987 | }); 988 | return this; 989 | }, 990 | original: function(elem, styleName) { 991 | var oStyle = elem.currentStyle || window.getComputedStyle(elem, null); 992 | return oStyle.getPropertyValue ? oStyle.getPropertyValue(D.styleName(styleName, true)) : oStyle.getAttribute(styleName); 993 | }, 994 | find: function(selector) { 995 | var newD = new D(), 996 | R; 997 | if (R = optionColation(selector)) { 998 | var nodeList = this, 999 | length = nodeList.length, 1000 | elem, i = 0; 1001 | for (; i < length; i++) { 1002 | if (!(elem = nodeList[i])) continue; 1003 | circulateNode.call(newD, elem, R); 1004 | } 1005 | } 1006 | return newD; 1007 | }, 1008 | filter: function(selector) { 1009 | if (selector == MG2016) { 1010 | return this; 1011 | } 1012 | var newD = new D(); 1013 | newD.queryOne = this.queryOne; 1014 | var aR = analyse(selector); 1015 | if (aR && aR[3].Attr) { 1016 | protected.attrSelect(aR[2], newD, this); 1017 | } else if (aR) { 1018 | var elem, i = 0, 1019 | nodeList = this, 1020 | length = nodeList.length; 1021 | for (; i < length; i++) { 1022 | if ((elem = nodeList[i]) && D.selectIndexOf(elem[aR[1]], aR[2], aR[3].Tag, aR[3].Class)) { 1023 | newD.push(elem); 1024 | } 1025 | } 1026 | } 1027 | return newD; 1028 | }, 1029 | animate: function(params, speed, callback, model) { 1030 | model = trim(model); 1031 | model = D.isString(model) && animateExpr.test(model) ? model : "ease-out"; 1032 | var timingFunction = protected.transition + "TimingFunction", 1033 | transitionArr = {}, 1034 | nodeList = this, 1035 | timer, eventEnd = function() { 1036 | timer && (clearInterval(timer), timer = undefined); 1037 | var a, b = 0, 1038 | style, length = nodeList.length; 1039 | for (; b < length; b++) { 1040 | if (!D.isElem(a = nodeList[b])) continue; 1041 | try { 1042 | if ($data.getAnimate(a, [isAnimate])) { 1043 | style = a.style; 1044 | style[protected.transition] = style[timingFunction] = null; 1045 | callback.call(a); 1046 | } 1047 | } catch (e) { 1048 | console.log(e.message); 1049 | } 1050 | } 1051 | }; 1052 | transitionArr[protected.transition] = speed + "ms"; 1053 | transitionArr[timingFunction] = model; 1054 | this.css(transitionArr); 1055 | ST(function() { 1056 | nodeList.css(params); 1057 | }, 5); 1058 | timer = setInterval(protected.timeCompute(Date.now(), speed - 1, eventEnd), 5); 1059 | return this; 1060 | }, 1061 | cmdFun: function(cmd) { 1062 | cmd = D.trim(cmd); 1063 | var obj = { 1064 | "\u5916\u524d": "beforeBegin", 1065 | beforeBegin: "beforeBegin", 1066 | "\u5916\u540e": "afterEnd", 1067 | afterEnd: "afterEnd", 1068 | "\u5185\u524d": "afterBegin", 1069 | afterBegin: "afterBegin" 1070 | }; 1071 | try { 1072 | if (obj.hasOwnProperty(cmd) && (obj = obj[cmd])) return obj; 1073 | } catch (e) {} 1074 | return "beforeEnd"; 1075 | }, 1076 | insertHTML: function(str, cmd) { 1077 | cmd = protected.cmdFun(cmd); 1078 | str = trim(str); 1079 | var bodys = DOC.body; 1080 | D.isTxt(str) && this.each(function() { 1081 | var this_ = D.isWINDOC(this) && bodys ? bodys : this; 1082 | try { 1083 | this_.insertAdjacentHTML(cmd, str); 1084 | } catch (e) { 1085 | console.log(e.message); 1086 | } 1087 | }); 1088 | return this; 1089 | }, 1090 | timeCompute: function(saveTime, timing, callblack) { 1091 | return function() { 1092 | var timeSubtract = Date.now() - saveTime; 1093 | if (timeSubtract > timing || timeSubtract < 0) { 1094 | callblack(); 1095 | } 1096 | }; 1097 | }, 1098 | ajax: function() { 1099 | this.erromsg = this.timeout = this.stop = this.xmlhttp = false; 1100 | this.transit = true; 1101 | }, 1102 | ajaxPrototype: { 1103 | get: function(url, data, success) { 1104 | return this.simplify(url, "get", true, data, success, 2e4, true); 1105 | }, 1106 | post: function(url, data, success) { 1107 | return this.simplify(url, "post", true, data, success, 2e4, false); 1108 | }, 1109 | getJSON: function(url, data, success) { 1110 | return this.simplify(url, "get", true, data, success, 2e4, true, getJSONExpr.test(url) ? "jsonp" : "json"); 1111 | }, 1112 | simplify: function(url, type, async, data, success, timeout, cache, json) { 1113 | if (D.isFunction(data)) { 1114 | var s = success; 1115 | success = data; 1116 | data = s || null; 1117 | } 1118 | this.ajax({ 1119 | url: url, 1120 | type: type, 1121 | dataType: json, 1122 | timeout: timeout, 1123 | async: async, 1124 | lock: true, 1125 | cache: cache, 1126 | complete: false, 1127 | data: data, 1128 | success: success 1129 | }); 1130 | return this; 1131 | }, 1132 | Del: function(xmlhttp, State, arg) { 1133 | if (this.stop === true) return; 1134 | this.delAjaxEve(xmlhttp); 1135 | this.delProgress(xmlhttp); 1136 | this.timeout && (clearTimeout(this.timeout), this.timeout = false); 1137 | this.erromsg = State; 1138 | this.transit = true; 1139 | D.isFunction(arg.error) && arg.error(State); 1140 | }, 1141 | handle: function(xmlhttp, arg) { 1142 | if (4 == xmlhttp.readyState) { 1143 | if (this.stop === true) return; 1144 | this.transit = true; 1145 | this.timeout && (clearTimeout(this.timeout), this.timeout = false); 1146 | if (200 == xmlhttp.status) { 1147 | this.delProgress(xmlhttp); 1148 | this.delAjaxEve(xmlhttp); 1149 | var responseText = trim(xmlhttp.responseText); 1150 | if (D.isFunction(arg.success)) { 1151 | if (arg.dataType == "JSON") responseText = protected.JsonString.StringToJson(responseText) || responseText; 1152 | arg.success(responseText, "success"); 1153 | } 1154 | } else { 1155 | this.Del(xmlhttp, "\u72b6\u6001\uff1a" + xmlhttp.status, arg); 1156 | } 1157 | } else { 1158 | 0 == xmlhttp.readyState && this.Del(xmlhttp, 0, arg); 1159 | } 1160 | }, 1161 | delProgress: function(obj) { 1162 | var P = "progressFunc", 1163 | Func = obj[P]; 1164 | if (Func) { 1165 | delEvent(obj.upload, "progress", Func); 1166 | D.delVar(obj, P); 1167 | } 1168 | }, 1169 | delAjaxEve: function(obj) { 1170 | D.delVar(obj, onStatech); 1171 | }, 1172 | out: function(arg, xmlhttp) { 1173 | this.delAjaxEve(xmlhttp); 1174 | this.delProgress(xmlhttp); 1175 | this.transit = true; 1176 | this.erromsg = 504; 1177 | this.stop = true; 1178 | D.isFunction(arg.error) && arg.error(504); 1179 | }, 1180 | ajax: function(arg) { 1181 | if (!D.isString(arg.url)) { 1182 | return; 1183 | } 1184 | this.stop = this.erromsg = false; 1185 | arg = D.extend({ 1186 | type: "GET", 1187 | timeout: 2e4, 1188 | async: true 1189 | }, arg); 1190 | arg.timeout = D.reviseTime(arg.timeout, 2e4); 1191 | if (D.isString(arg.dataType) && (arg.dataType = trim(arg.dataType.toUpperCase())) == "JSONP") { 1192 | protected.jsonp(arg) || console.log('Operation failed, please check "jsonpCallback" settings'); 1193 | return; 1194 | } 1195 | if (arg.lock && !this.transit) return; 1196 | arg.async = !!arg.async; 1197 | this.transit = false; 1198 | D.isString(arg.type) && (arg.type = arg.type.toUpperCase()); 1199 | var xmlhttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"), 1200 | isUrlencoded = true; 1201 | arg.data = D.objToUrl(arg.data) || arg.data; 1202 | if (D.isTxt(arg.data)) { 1203 | arg.data = trim(arg.data); 1204 | arg.data === "" && (arg.data = null); 1205 | } else if (toString.call(arg.data) == "[object FormData]") { 1206 | if (D.isFunction(arg.progress)) { 1207 | xmlhttp.progressFunc = arg.progress; 1208 | addEvent(xmlhttp.upload, "progress", arg.progress); 1209 | } 1210 | isUrlencoded = false; 1211 | arg.type = "POST"; 1212 | } else { 1213 | arg.data = null; 1214 | } 1215 | var SendArg = arg.data, 1216 | self = this; 1217 | D.isFunction(arg.complete) && arg.complete(); 1218 | if (arg.async) { 1219 | xmlhttp[onStatech] = function() { 1220 | self.handle(xmlhttp, arg); 1221 | }; 1222 | } 1223 | arg.timeout && arg.async && (this.timeout = ST(function() { 1224 | self.timeout = false; 1225 | self.out(arg, xmlhttp); 1226 | }, arg.timeout)); 1227 | try { 1228 | switch (arg.type) { 1229 | case "POST": 1230 | xmlhttp.open("POST", arg.url, arg.async); 1231 | isUrlencoded && xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 1232 | break; 1233 | 1234 | default: 1235 | xmlhttp.open("GET", D.urlRevise(arg.url, SendArg), arg.async); 1236 | SendArg = null; 1237 | arg.cache === true || xmlhttp.setRequestHeader("If-Modified-Since", "0"); 1238 | break; 1239 | } 1240 | xmlhttp.send(SendArg); 1241 | } catch (e2) { 1242 | this.Del(xmlhttp, e2, arg); 1243 | return; 1244 | }!arg.async && self.handle(xmlhttp, arg); 1245 | } 1246 | }, 1247 | JsonString: { 1248 | _json_: null, 1249 | JsonToString: function(arrObj, T) { 1250 | try { 1251 | var winJOSN = window.JSON; 1252 | if (!T && winJOSN && (winJOSN = winJOSN.stringify)) { 1253 | return D.isObjArr(arrObj) ? winJOSN(arrObj) : false; 1254 | } 1255 | this._json_ = []; 1256 | this._read_(arrObj, true); 1257 | var JsonJoin = filterSpecial(this._json_.join("").replace(JsonToExpr, fSArrFunc[2])); 1258 | this._json_ = null; 1259 | return JsonJoin; 1260 | } catch (e) { 1261 | console.log("Format does not match, conversion fails"); 1262 | return false; 1263 | } 1264 | }, 1265 | StringToJson: function(str, T) { 1266 | if (!D.isString(str)) return; 1267 | try { 1268 | if (T == null && StringToExpr[0].test(str.replace(StringToExpr[1], "@").replace(StringToExpr[2], "]").replace(StringToExpr[3], ""))) { 1269 | return window.JSON && window.JSON.parse ? window.JSON.parse(str) : new Function("return (" + str + ")")(); 1270 | } 1271 | if (T) { 1272 | var array = new Function("return (" + str + ")")(); 1273 | if (D.isObjArr(array)) return array; 1274 | } 1275 | } catch (e) { 1276 | console.log(e.message); 1277 | } 1278 | return false; 1279 | }, 1280 | _addjson_: function(types, txt, txt2) { 1281 | this._json_.push(types == strObject ? txt : txt2); 1282 | }, 1283 | _addstring_: function(parameter) { 1284 | var of = typeof parameter; 1285 | if (of === "string") return '"' + stripslashes(parameter) + '"'; 1286 | if ((of === "number" && !isNaN(parameter)) || 1287 | parameter === null || 1288 | of === "boolean") { 1289 | return String(parameter); 1290 | } 1291 | if (D.isObjArr(parameter)) return false; 1292 | return '""'; 1293 | }, 1294 | _read_: function(arr, bool) { 1295 | var types = D.isObjArr(arr); 1296 | if (bool && !types) { 1297 | console.log("Your incoming is not an array or JSON"); 1298 | return this._json_ = null; 1299 | } 1300 | this._addjson_(types, "{", "["); 1301 | for (var a in arr) { 1302 | if (arr.hasOwnProperty(a)) { 1303 | var ArrA = this._addstring_(arr[a]); 1304 | if (ArrA === false) { 1305 | this._addjson_(types, '"' + stripslashes(a) + '":', ""); 1306 | this._read_(arr[a]); 1307 | } else { 1308 | this._addjson_(types, '"' + stripslashes(a) + '":' + ArrA + ",", ArrA + ","); 1309 | } 1310 | } 1311 | } 1312 | bool = bool ? "" : ","; 1313 | this._addjson_(types, "}" + bool, "]" + bool); 1314 | } 1315 | }, 1316 | style: function(objstyle, name, val) { 1317 | val = D.isTxt(val) ? trim(val) : ""; 1318 | if (transformReg.test(name)) { 1319 | var regexps = new RegExp("" + name + "\\s?\\((.*)\\)", "i"), 1320 | transform = objstyle[protected.transform]; 1321 | val ? name += "(" + val + ")" : name = ""; 1322 | var arr = [protected.transform, transform ? regexps.test(transform) ? transform.replace(regexps, name) : transform + " " + name : name]; 1323 | return arr; 1324 | } 1325 | if (name == "opacity") { 1326 | if (protected.opacity == "opacity") { 1327 | var num = parseFloat(val, 10); 1328 | arr = ["opacity", isNaN(num) ? null : num]; 1329 | } else { 1330 | var filter = objstyle.filter, 1331 | opacity = parseInt(val, 10) + "" === "NaN" ? "" : "alpha(opacity=" + val * 100 + ")"; 1332 | arr = ralpha.test(filter) ? ["filter", filter.replace(ralpha, opacity)] : ["filter", opacity]; 1333 | } 1334 | return arr; 1335 | } 1336 | return [name, val]; 1337 | }, 1338 | readyComplete: function(callback, event, is) { 1339 | addEvent(DOC, event, function() { 1340 | if (is || "complete" == DOC.readyState) { 1341 | delEvent(DOC, event, arguments.callee); 1342 | callback.call(DOC, D); 1343 | } 1344 | }); 1345 | }, 1346 | ieReady: function(callback) { 1347 | try { 1348 | var winFe = window.frameElement; 1349 | DOC[DOCE].doScroll("left"); 1350 | var correct = true; 1351 | } catch (e) {} 1352 | if (winFe) return protected.readyComplete(callback, statech); 1353 | if (!correct && winFe == null) { 1354 | var func = arguments.callee; 1355 | return ST(function() { 1356 | func(callback); 1357 | }, 13); 1358 | } 1359 | callback.call(DOC, D); 1360 | }, 1361 | ready: function(callback) { 1362 | if (addEvent.add) return protected.readyComplete(callback, "DOMContentLoaded", true); 1363 | protected.ieReady(callback); 1364 | } 1365 | }, 1366 | listToArray = function(listNode) { 1367 | try { 1368 | return slice.call(listNode); 1369 | } catch (e) { 1370 | var array = [], 1371 | i = 0, 1372 | length = listNode.length; 1373 | for (; i < length; i++) { 1374 | array[i] = listNode[i]; 1375 | } 1376 | return array; 1377 | } 1378 | }, 1379 | circulateNode = function(parent, R) { 1380 | var fruit = R[1]; 1381 | if (fruit[3].Attr) { 1382 | return protected.attrSelect(fruit[2], this, parent[getByTagName]("*")); 1383 | } 1384 | if (R[0] || fruit[3].Id && DOC === parent) { 1385 | var elemName = fruit[2], 1386 | nodeList = parent[fruit[0]](elemName == MG2016 ? "*" : elemName); 1387 | if (nodeList) { 1388 | D.upload(this, fruit[3].Id ? [nodeList] : listToArray(nodeList)); 1389 | } 1390 | return; 1391 | } 1392 | var ListNode = parent[getByTagName]("*"), 1393 | elem, i = 0, 1394 | decorate, length = ListNode.length; 1395 | for (; i < length; i++) { 1396 | if (elem = ListNode[i]) { 1397 | decorate = trim(elem[fruit[1]]); 1398 | if (decorate && D.selectIndexOf(decorate, fruit[2], fruit[3].Tag, fruit[3].Class)) { 1399 | this.push(elem); 1400 | } 1401 | } 1402 | } 1403 | }, 1404 | newDArray = function(obj) { 1405 | if (obj == null) { 1406 | return false; 1407 | } 1408 | if (D.isArray(obj) || obj instanceof D) { 1409 | return obj.slice(); 1410 | } 1411 | if (obj.item && !D.isWindow(obj) && D.isArray(obj = listToArray(obj))) { 1412 | return obj; 1413 | } 1414 | return [obj]; 1415 | }, 1416 | optionColation = function(selector) { 1417 | var analyseResult = analyse(selector); 1418 | return analyseResult ? [analyseResult[3].Tag || isGetClassName && analyseResult[3].Class, analyseResult] : false; 1419 | }, 1420 | D = window.MingGe = function(selector) { 1421 | if (!(this instanceof D)) { 1422 | return canonicalStructure(selector); 1423 | } 1424 | }, 1425 | init = function(selector, parent) { 1426 | var R; 1427 | if (D.isFunction(selector)) { 1428 | this.push(this.queryOne = DOC); 1429 | protected.ready(selector); 1430 | } else if (D.isString(selector) && (R = optionColation(selector))) { 1431 | circulateNode.call(this, parent, R); 1432 | } else if (selector == DOC || D.isElem(selector)) { 1433 | this.queryOne = selector; 1434 | this.push(selector); 1435 | } else { 1436 | var arr = newDArray(selector); 1437 | if (arr) { 1438 | protected.comMode(this, arr); 1439 | } 1440 | } 1441 | return this; 1442 | }; 1443 | D.bindFn = {}, 1444 | D.fn = D.prototype = { 1445 | version: "\u4f60\u4f7f\u7528\u7684\u7248\u672c\u662f" + MingGeJs, 1446 | queryOne: false, 1447 | queryTwo: false, 1448 | is: function(selector) { 1449 | selector = trim(selector); 1450 | //待扩展的接口 1451 | switch (selector) { 1452 | case ":animate": 1453 | return !!$data.getAnimate(this[0], [isAnimate]); 1454 | default: 1455 | return false; 1456 | } 1457 | }, 1458 | offset: function() { 1459 | var nodeList = this[0]; 1460 | return nodeList && nodeList.getBoundingClientRect ? nodeList.getBoundingClientRect() : []; 1461 | }, 1462 | append: function(selector) { 1463 | return this.createNode(selector, "beforeEnd"); 1464 | }, 1465 | prepend: function(selector) { 1466 | return this.createNode(selector, "afterBegin"); 1467 | }, 1468 | appendTo: function(selector) { 1469 | D(selector).createNode(this, "beforeEnd"); 1470 | return this; 1471 | }, 1472 | prependTo: function(selector) { 1473 | D(selector).createNode(this, "afterBegin"); 1474 | return this; 1475 | }, 1476 | before: function(selector) { 1477 | return this.createNode(selector, "beforeBegin"); 1478 | }, 1479 | after: function(selector) { 1480 | return this.createNode(selector, "afterEnd"); 1481 | }, 1482 | createNode: function(html, cmd) { 1483 | try { 1484 | if (D.isTxt(html)) { 1485 | var fragment = protected.getFragment(html), 1486 | boole = true; 1487 | } else if (!(fragment = newDArray(html))) { 1488 | return this; 1489 | } 1490 | } catch (e) { 1491 | console.log(e.message); 1492 | return this; 1493 | } 1494 | var bodys = DOC.body, 1495 | cmd = protected.cmdFun(cmd), 1496 | tally = 0, 1497 | nodeList = this, 1498 | cloneFragment = protected.cloneFragment, 1499 | ie678 = D.isIe(); 1500 | if (ie678 && ie678 < 9) { 1501 | var runScriptArr = protected.readScript(fragment); 1502 | } 1503 | this.each(function() { 1504 | var this_ = D.isWINDOC(this) && bodys ? bodys : this; 1505 | if (!D.isDocNode(this_)) return; 1506 | var parent = this_.parentNode, 1507 | cFra = cloneFragment(fragment, boole, ++tally, nodeList); 1508 | if (cFra) { 1509 | var clone = cFra[0]; 1510 | if (tally === 1) { 1511 | fragment = cFra[1]; 1512 | } 1513 | } 1514 | if (clone && this_.insertBefore && this_.appendChild) { 1515 | switch (cmd) { 1516 | case "beforeBegin": 1517 | parent && parent.insertBefore(clone, this_); 1518 | break; 1519 | 1520 | case "afterBegin": 1521 | this_.insertBefore(clone, this_.firstChild); 1522 | break; 1523 | 1524 | case "afterEnd": 1525 | parent && parent.insertBefore(clone, this_.nextSibling); 1526 | break; 1527 | 1528 | default: 1529 | this_.appendChild(clone); 1530 | } 1531 | } 1532 | }); 1533 | if (runScriptArr) { 1534 | protected.ieRunScript(runScriptArr); 1535 | } 1536 | return this; 1537 | }, 1538 | load: function(url, arg) { 1539 | if (D.isFunction(url)) return this.bind("load", url); 1540 | if (D.isString(url)) { 1541 | var this_ = this; 1542 | D[arg == null ? "get" : "post"](url, arg, function(HTML) { 1543 | this_.each(function() { 1544 | var seachIndex = protected.seachIndex(["value", "innerHTML"], this); 1545 | seachIndex && (this[seachIndex] = HTML); 1546 | }); 1547 | }); 1548 | } else if (arguments.length == 0) { 1549 | bubbling.call(this, "load"); 1550 | } 1551 | return this; 1552 | }, 1553 | insertHTML: protected.insertHTML, 1554 | stop: function() { 1555 | if (!protected.transition) return this; 1556 | return this.each(function() { 1557 | if ($data.getAnimate(this, [isAnimate])) { 1558 | $data.delAnimate(this); 1559 | var timingFunction = protected.transition + "TimingFunction", 1560 | style = this.style; 1561 | style[protected.transition] = style[timingFunction] = null; 1562 | } 1563 | }); 1564 | }, 1565 | fadeToggle: function(time, callback) { 1566 | return this.each(function() { 1567 | if (protected.original(this, "display") == "none") { 1568 | D(this).fadeIn(time, callback); 1569 | } else { 1570 | D(this).fadeOut(time, callback); 1571 | } 1572 | }); 1573 | }, 1574 | clone: function(is) { 1575 | var array = []; 1576 | this.each(function() { 1577 | if (this.cloneNode) { 1578 | var clone = this.cloneNode(true); 1579 | if (is || !addEvent.add) { 1580 | $data.cloneEvent(this, clone, 0, 1); 1581 | if (!is) { 1582 | $data.removeEvent(clone, null, {}); 1583 | D(clone).find("*").unbind(); 1584 | } 1585 | } 1586 | array.push(clone); 1587 | } 1588 | }); 1589 | return protected.comMode(new D(), array); 1590 | }, 1591 | add: function(obj) { 1592 | if (D.isString(obj)) { 1593 | var array = listToArray(D(obj)); 1594 | } else if (!(array = newDArray(obj))) { 1595 | array = []; 1596 | } 1597 | return protected.comMode(new D(), this.slice().concat(array)); 1598 | }, 1599 | attr: function(name, val) { 1600 | var nodeList = this, 1601 | elem = this[0], 1602 | isUndefined = D.isUndefined(val), 1603 | proSetAttr = protected.setAttr; 1604 | if (elem) { 1605 | if (D.isObject(name)) { 1606 | this.each(function(a) { 1607 | var this_ = this; 1608 | D.each(name, function(k, v) { 1609 | if (D.isString(k) && (D.isTxt(v) || D.isBoolean(v))) { 1610 | var typeDOM = proSetAttr(this_, k, v); 1611 | if (typeDOM) this_ = nodeList[a] = typeDOM; 1612 | } 1613 | }); 1614 | }); 1615 | return this; 1616 | } 1617 | if (isUndefined) { 1618 | if (D.isString(name)) { 1619 | return protected.getAttr(elem, name); 1620 | } 1621 | return null; 1622 | } 1623 | if (D.isString(name) && (D.isTxt(val) || D.isBoolean(val))) { 1624 | this.each(function(a) { 1625 | var typeDOM = proSetAttr(this, name, val); 1626 | if (typeDOM) nodeList[a] = typeDOM; 1627 | }); 1628 | } 1629 | return this; 1630 | } 1631 | return isUndefined ? null : this; 1632 | }, 1633 | fadeOut: function(time, callback) { 1634 | var newD = new D(); 1635 | this.each(function() { 1636 | this.nodeType == 1 && (protected.original(this, "display") == "none" || $data.getAnimate(this, [isAnimate]) || newD.push(this)); 1637 | }); 1638 | if (protected.transition) { 1639 | newD.animate({ 1640 | opacity: 0 1641 | }, time, function() { 1642 | D(this).css({ 1643 | display: "none", 1644 | opacity: null 1645 | }); 1646 | D.isFunction(callback) && callback.call(this); 1647 | }, "ease"); 1648 | } else { 1649 | newD.css("display", "none"); 1650 | } 1651 | return this; 1652 | }, 1653 | hide: function() { 1654 | this.each(function() { 1655 | if (this.nodeType == 1 && protected.original(this, "display") != "none") { 1656 | this.style.display = "none"; 1657 | } 1658 | }); 1659 | return this; 1660 | }, 1661 | getFormData: function(str, num) { 1662 | if (D.isString(str)) { 1663 | if (!D.isFunction(window.FormData)) return null; 1664 | num = parseInt(num); 1665 | var mydata = new FormData(), 1666 | isNum = D.isNumber(num), 1667 | i = 0, 1668 | arr = [], 1669 | elem, files, text, leng = this.length; 1670 | for (; i < leng; i++) { 1671 | elem = this[i]; 1672 | if (files = elem.files) { 1673 | length = files.length; 1674 | if (isNum && num < length) { 1675 | length = num; 1676 | } 1677 | for (var ii = 0; ii < length; ii++) { 1678 | arr.push(text = str + "_" + i + "_" + ii); 1679 | mydata.append(text, files[ii]); 1680 | } 1681 | } 1682 | } 1683 | return { 1684 | data: mydata, 1685 | name: arr 1686 | }; 1687 | } 1688 | }, 1689 | show: function() { 1690 | this.each(function() { 1691 | if (this.nodeType == 1 && protected.original(this, "display") == "none") { 1692 | protected.show(this); 1693 | } 1694 | }); 1695 | return this; 1696 | }, 1697 | fadeIn: function(time, callback) { 1698 | var newD = new D(); 1699 | this.each(function() { 1700 | if (this.nodeType == 1 && protected.original(this, "display") == "none") { 1701 | if ($data.getAnimate(this, [isAnimate])) return; 1702 | protected.transition && D(this).css("opacity", 0); 1703 | newD.push(this); 1704 | protected.show(this); 1705 | } 1706 | }); 1707 | if (protected.transition) { 1708 | ST(function() { 1709 | newD.animate({ 1710 | opacity: 1 1711 | }, time, function() { 1712 | D(this).css("opacity", null); 1713 | D.isFunction(callback) && callback.call(this); 1714 | }, "ease"); 1715 | }, 5); 1716 | } 1717 | return this; 1718 | }, 1719 | animate: function(params, speed, callback, model) { 1720 | if (!protected.transition) { 1721 | this.css(params); 1722 | return this; 1723 | } 1724 | if (!D.isObject(params)) return this; 1725 | var typeSpeed = typeof speed; 1726 | if (typeSpeed !== "number" || isNaN(speed)) { 1727 | if (typeSpeed === "string") { 1728 | speed = trim(speed); 1729 | speed = showFast.hasOwnProperty(speed) ? showFast[speed] : D.reviseTime(speed, 500); 1730 | } else { 1731 | if (D.isFunction(speed)) { 1732 | callback = speed; 1733 | } 1734 | speed = 500; 1735 | } 1736 | } 1737 | if (!D.isFunction(callback)) { 1738 | var m = model; 1739 | model = callback; 1740 | callback = D.isFunction(m) ? m : emptyFunc; 1741 | } 1742 | var newCallback = function() { 1743 | var list = $data.getAnimate(this, [AnimateList]); 1744 | if (D.isArray(list) && list.length > 0) { 1745 | var newD = new D(), 1746 | arg = list[0]; 1747 | newD.push(this); 1748 | list.splice(0, 1); 1749 | protected.animate.apply(newD, arg); 1750 | } else { 1751 | $data.delAnimate(this); 1752 | } 1753 | callback.call(this); 1754 | }; 1755 | var elem, b = 0, 1756 | newD = new D(), 1757 | arg = [params, speed, newCallback, model], 1758 | lock, length = this.length; 1759 | for (; b < length; b++) { 1760 | elem = this[b]; 1761 | if (elem && elem.nodeType != 1) continue; 1762 | var get = $data.getAnimate(elem); 1763 | if (get && get[isAnimate]) { 1764 | get[AnimateList] ? get[AnimateList].push(arg) : get[AnimateList] = [arg]; 1765 | } else { 1766 | $data.setAnimate(elem, [isAnimate, 1]); 1767 | newD.push(elem); 1768 | lock || (lock = true); 1769 | } 1770 | } 1771 | lock && protected.animate.apply(newD, arg); 1772 | return this; 1773 | }, 1774 | empty: function() { 1775 | return this.each(function(i) { 1776 | if (this.nodeType == 1) { 1777 | var seachIndex = protected.seachIndex(["value", "innerHTML"], this); 1778 | seachIndex && (this[seachIndex] = ""); 1779 | } 1780 | }); 1781 | }, 1782 | remove: function() { 1783 | var arr = []; 1784 | this.each(function() { 1785 | try { 1786 | this.parentNode.removeChild(this); 1787 | D(this).unbind().stop(); 1788 | } catch (e) { 1789 | arr.push(this); 1790 | } 1791 | }); 1792 | D.upload(this, arr, 1); 1793 | return this; 1794 | }, 1795 | on: function(eveName, agent, callback, isOne) { 1796 | if (D.isFunction(agent)) { 1797 | isOne = callback; 1798 | callback = agent; 1799 | } 1800 | return this.bind(eveName, callback, isOne, agent); 1801 | }, 1802 | bind: function(eveName, callback, isOne, agent) { 1803 | isOne = isOne === true; 1804 | agent = D.isString(agent) ? [agent, this] : undefined; 1805 | if (D.isString(eveName) && D.isFunction(callback)) { 1806 | protected.bindHandle.call(this, eveName, callback, isOne, agent); 1807 | } else if (D.isObject(eveName)) { 1808 | for (var key in eveName) { 1809 | if (eveName.hasOwnProperty(key) && D.isFunction(eveName[key])) { 1810 | protected.bindHandle.call(this, key, eveName[key], isOne, agent); 1811 | } 1812 | } 1813 | } 1814 | return this; 1815 | }, 1816 | unbind: function(eveName, callback) { 1817 | var eveNameType = typeof eveName; 1818 | if (eveNameType == "function") { 1819 | callback = eveName; 1820 | eveName = undefined; 1821 | } else { 1822 | var callbackType = typeof callback; 1823 | if (!((eveNameType == "string" || eveNameType == "undefined") && (callbackType == "function" || callbackType == "undefined"))) { 1824 | return this; 1825 | } 1826 | } 1827 | eveName = trim(eveName); 1828 | var elem, i = 0, 1829 | length = this.length; 1830 | for (; i < length; i++) { 1831 | elem = this[i]; 1832 | if (typeof elem != "object") continue; 1833 | $data.removeEvent(elem, eveName, { 1834 | callback: callback 1835 | }); 1836 | } 1837 | return this; 1838 | }, 1839 | one: function(eveName, callback) { 1840 | return this.bind(eveName, callback, true); 1841 | }, 1842 | ready: function(callback) { 1843 | if (D.isFunction(callback)) { 1844 | protected.ready(callback); 1845 | } 1846 | return this; 1847 | }, 1848 | children: function(selector) { 1849 | var elemCallback = protected.elemCallback; 1850 | return D.isUndefined(selector) ? this.contents(elemCallback) : this.contents(selector).filter(elemCallback); 1851 | }, 1852 | contents: function(selector) { 1853 | var array = []; 1854 | this.each(function() { 1855 | array = array.concat(listToArray(this.childNodes)); 1856 | }); 1857 | var newD = protected.comMode(new D(), removing(array)); 1858 | return D.isUndefined(selector) ? newD : newD.filter(selector); 1859 | }, 1860 | toString: function() { 1861 | return "\u005b\u006f\u0062\u006a\u0065\u0063\u0074\u0020\u004d\u0069\u006e\u0067\u0047\u0065\u005d"; 1862 | }, 1863 | parent: function(selector) { 1864 | return commandNode.call(this, "parentNode", 0, selector); 1865 | }, 1866 | siblings: function(selector) { 1867 | var prev = commandNode.call(this, "previousSibling", 1, selector), 1868 | next = commandNode.call(this, "nextSibling", 1, selector); 1869 | D.upload(prev, next.slice()); 1870 | D.upload(prev, removing(prev), 1); 1871 | return prev; 1872 | }, 1873 | prev: function(selector) { 1874 | return commandNode.call(this, "previousSibling", 0, selector); 1875 | }, 1876 | prevAll: function(selector) { 1877 | return commandNode.call(this, "previousSibling", 1, selector); 1878 | }, 1879 | next: function(selector) { 1880 | return commandNode.call(this, "nextSibling", 0, selector); 1881 | }, 1882 | nextAll: function(selector) { 1883 | return commandNode.call(this, "nextSibling", 1, selector); 1884 | }, 1885 | addClass: function(str) { 1886 | if (D.isString(str)) { 1887 | str = trim(str); 1888 | this.each(function() { 1889 | if (this.nodeType === 1) { 1890 | var className = this.className || ""; 1891 | className = removing(trim(className + " " + str).split(/\s+/)).join(" "); 1892 | className == "" || (this.className = className); 1893 | } 1894 | }); 1895 | } 1896 | return this; 1897 | }, 1898 | hasClass: function(str) { 1899 | try { 1900 | if (D.isString(str)) { 1901 | var className, i = 0, 1902 | length = this.length; 1903 | str = trim(str); 1904 | for (; i < length; i++) { 1905 | className = this[i].className; 1906 | if (className && D.selectIndexOf(className, str, 0, 1)) { 1907 | return true; 1908 | } 1909 | } 1910 | } 1911 | } catch (e) { 1912 | console.log(e.message); 1913 | } 1914 | return false; 1915 | }, 1916 | removeAttr: function(str) { 1917 | if (D.isString(str)) { 1918 | str = trim(str); 1919 | this.each(function() { 1920 | var k = protected.isElemProperty(this, str); 1921 | if (k) this[k] = ""; 1922 | this.removeAttribute && this.removeAttribute(str); 1923 | }); 1924 | } 1925 | return this; 1926 | }, 1927 | removeClass: function(str) { 1928 | if (D.isString(str)) { 1929 | str = "(" + trim(str).replace(blankendExpr, "|") + ")"; 1930 | this.each(function() { 1931 | if (this.nodeType === 1) { 1932 | var className = this.className; 1933 | if (className) { 1934 | try { 1935 | this.className = className = trim(className.replace(blankendExpr, " ").replace(RegExp("(^|\\s)" + str + "($|\\s)", "g"), " ")); 1936 | } catch (e) { 1937 | console.log(e.message); 1938 | } 1939 | } 1940 | } 1941 | }); 1942 | } else if (D.isUndefined(str)) { 1943 | this.each(function() { 1944 | if (this.nodeType === 1) { 1945 | if (this.className) { 1946 | this.className = ""; 1947 | } 1948 | } 1949 | }); 1950 | } 1951 | return this; 1952 | }, 1953 | find: function(str) { 1954 | return canonicalStructure(str, this, { 1955 | find: true 1956 | }); 1957 | }, 1958 | map: function(callback) { 1959 | if (D.isFunction(callback)) return protected.filterCallback(this, callback, true); 1960 | return new D(); 1961 | }, 1962 | filter: function(str) { 1963 | if (D.isFunction(str)) return protected.filterCallback(this, str); 1964 | var fil = canonicalStructure(str, this, { 1965 | filter: true 1966 | }); 1967 | return fil; 1968 | }, 1969 | index: function(obj) { 1970 | try { 1971 | if (D.isUndefined(obj)) { 1972 | var t0 = this[0]; 1973 | return D.inArray(t0, D(t0.parentNode).children()); 1974 | } 1975 | return D.inArray((obj instanceof D) ? obj[0] : obj, this); 1976 | } catch (e) { 1977 | return -1; 1978 | } 1979 | }, 1980 | eq: function(index) { 1981 | var M = new D(), 1982 | node = this; 1983 | M = index == null ? this : (index = index < 0 ? node.length + index : index, node.hasOwnProperty(index) && M.push(M.queryOne = node[index]), 1984 | M); 1985 | return M; 1986 | }, 1987 | first: function() { 1988 | return this.eq(0); 1989 | }, 1990 | last: function() { 1991 | return this.eq(-1); 1992 | }, 1993 | size: function() { 1994 | return this.length; 1995 | }, 1996 | each: function(callback) { 1997 | if (D.isFunction(callback)) { 1998 | var length = this.length, 1999 | i = 0, 2000 | obj; 2001 | for (; i < length; i++) { 2002 | try { 2003 | obj = this[i]; 2004 | obj != null && callback.call(obj, i, length); 2005 | } catch (e) { 2006 | console.log(e.message); 2007 | } 2008 | } 2009 | } 2010 | return this; 2011 | }, 2012 | clientWidth: function() { 2013 | return protected.getCS.call(this, "clientWidth"); 2014 | }, 2015 | clientHeight: function() { 2016 | return protected.getCS.call(this, "clientHeight"); 2017 | }, 2018 | scrollWidth: function() { 2019 | return protected.getCS.call(this, "scrollWidth"); 2020 | }, 2021 | scrollHeight: function() { 2022 | return protected.getCS.call(this, "scrollHeight"); 2023 | }, 2024 | scrollLeft: function(num) { 2025 | return protected.setS.call(this, "scrollLeft", num); 2026 | }, 2027 | scrollTop: function(num) { 2028 | return protected.setS.call(this, "scrollTop", num); 2029 | }, 2030 | hover: function(inCallback, outCallback) { 2031 | return this.bind({ 2032 | mouseenter: inCallback, 2033 | mouseleave: outCallback 2034 | }); 2035 | }, 2036 | val: function(str) { 2037 | return protected.htmlVal.call(this, "value", str); 2038 | }, 2039 | html: function(str) { 2040 | return protected.htmlVal.call(this, "innerHTML", str); 2041 | }, 2042 | text: function(str) { 2043 | return protected.htmlVal.call(this, protected.isIndex("textContent", virDiv) ? "textContent" : "innerText", str); 2044 | }, 2045 | css: function(args, val) { 2046 | var i = 0, 2047 | elem, key, arrayKey = {}, 2048 | sty, type = typeof args, 2049 | nodeList = this, 2050 | length = nodeList.length; 2051 | if (type === "string") { 2052 | args = D.styleName(trim(args)); 2053 | if (D.isUndefined(val)) { 2054 | if (!((elem = nodeList[0]) && D.isElem(elem))) { 2055 | return null; 2056 | } 2057 | if (transformReg.test(args)) { 2058 | var transform = elem.style[protected.transform]; 2059 | if (transform) { 2060 | try { 2061 | i = new RegExp("" + args + "\\s?\\((.*)\\)", "i").exec(transform); 2062 | return i && i[1]; 2063 | } catch (e) { 2064 | console.log(e.message); 2065 | } 2066 | } 2067 | return null; 2068 | } 2069 | if ((args == "opacity" || args == "filter") && protected.opacity == "filter") { 2070 | return protected.getFilter(elem); 2071 | } 2072 | return protected.original(elem, args); 2073 | } 2074 | for (i = 0; i < length; i++) { 2075 | elem = nodeList[i]; 2076 | if (!D.isElem(elem)) continue; 2077 | try { 2078 | sty = elem.style; 2079 | arrayKey = protected.style(sty, args, val); 2080 | sty[arrayKey[0]] = arrayKey[1]; 2081 | } catch (e) { 2082 | console.log(e.message); 2083 | } 2084 | } 2085 | } else if (D.isObject(args)) { 2086 | for (i = 0; i < length; i++) { 2087 | elem = nodeList[i]; 2088 | if (!D.isElem(elem)) continue; 2089 | sty = elem.style; 2090 | for (key in args) { 2091 | try { 2092 | if (i == 0 && args.hasOwnProperty(key)) { 2093 | arrayKey[key] = protected.style(sty, D.styleName(key), args[key]); 2094 | } 2095 | if (arrayKey[key]) { 2096 | sty[arrayKey[key][0]] = arrayKey[key][1]; 2097 | } 2098 | } catch (e) { 2099 | console.log(e.message); 2100 | } 2101 | } 2102 | } 2103 | } 2104 | return this; 2105 | }, 2106 | get: function(index) { 2107 | var node = this; 2108 | return index == null ? node.slice() : (index = index < 0 ? node.length + index : index, 2109 | node.hasOwnProperty(index) && node[index]); 2110 | }, 2111 | push: push, 2112 | slice: slice, 2113 | splice: virArr.splice, 2114 | pop: virArr.pop, 2115 | indexOf: virArr.indexOf, 2116 | shift: virArr.shift, 2117 | sort: virArr.sort, 2118 | unshift: virArr.unshift, 2119 | toLocaleString: virArr.toLocaleString, 2120 | join: virArr.join, 2121 | reverse: virArr.reverse, 2122 | length: 0 2123 | }; 2124 | D.fn.extend = D.extend = D.bindFn.extend = function() { 2125 | var length = arguments.length, 2126 | key; 2127 | if (length == 1 && toString.call(arguments[0]) == strObject) { 2128 | var is = false; 2129 | for (key in arguments[0]) { 2130 | if (!(key in this)) { 2131 | this[key] = arguments[0][key]; 2132 | is = true; 2133 | } 2134 | } 2135 | return is; 2136 | } 2137 | if (length > 1) { 2138 | var args = arguments, 2139 | i = 1, 2140 | args0 = args[0]; 2141 | for (; i < length; i++) { 2142 | args0 = repObject(args0, args[i]); 2143 | } 2144 | return args0; 2145 | } 2146 | return false; 2147 | }; 2148 | protected.ajax.prototype = protected.ajaxPrototype; 2149 | D.extend({ 2150 | data: function(obj) { 2151 | if (D.isUndefined(obj)) { 2152 | return $data; 2153 | } 2154 | return new CACHE(obj); 2155 | }, 2156 | copyObject: function(obj) { 2157 | if (D.isObjArr(obj)) { 2158 | var O = obj.constructor(), 2159 | key; 2160 | for (key in obj) { 2161 | if (obj.hasOwnProperty(key)) O[key] = arguments.callee(obj[key]); 2162 | } 2163 | return O; 2164 | } 2165 | return obj; 2166 | }, 2167 | isWindow: function(obj) { 2168 | return !!(obj == window || obj != null && obj.window == window && obj.document && obj.open); 2169 | }, 2170 | isWINDOC: function(obj) { 2171 | return obj == DOC || D.isWindow(obj); 2172 | }, 2173 | isNumeric: function(num) { 2174 | return !isNaN(parseFloat(num)) && isFinite(num); 2175 | }, 2176 | isObjArr: function(obj, type) { 2177 | var types = type || toString.call(obj); 2178 | return (D.isObject(obj, types) || types === strArray) && types; 2179 | }, 2180 | listToArray: listToArray, 2181 | trim: trim, 2182 | parseJSON: function(s, t) { 2183 | return protected.JsonString.StringToJson(s, t); 2184 | }, 2185 | toJSON: function(s, t) { 2186 | return protected.JsonString.JsonToString(s, t); 2187 | }, 2188 | noConflict: function() { 2189 | D.delVar(window, varName); 2190 | return D; 2191 | }, 2192 | isDocNode: function(obj) { 2193 | return !!obj && (obj.nodeType === 1 || obj.nodeType === 3); 2194 | }, 2195 | isNode: function(obj) { 2196 | return !!obj && D.isNumber(obj.nodeType); 2197 | }, 2198 | isElem: function(obj) { 2199 | return !!obj && obj.nodeType === 1; 2200 | }, 2201 | isObject: function(obj, type) { 2202 | return typeof obj == "object" && (type || toString.call(obj)) == strObject && obj == strObject; 2203 | }, 2204 | isPlainObject: function(obj, type) { 2205 | return D.isObject(obj, type) && obj.constructor == Object; 2206 | }, 2207 | isArray: function(obj, type) { 2208 | return !!obj && (type || toString.call(obj)) === strArray; 2209 | }, 2210 | isFunction: function(obj, type) { 2211 | return !!obj && (type || toString.call(obj)) === "[object Function]"; 2212 | }, 2213 | isEmptyObject: function(obj) { 2214 | for (var name in obj) { 2215 | if (obj.hasOwnProperty && obj.hasOwnProperty(name) && obj[name] != null) { 2216 | return false; 2217 | } 2218 | } 2219 | return true; 2220 | }, 2221 | pushArray: function(arr, val) { 2222 | if (D.isArray(arr)) { 2223 | arr.push(val); 2224 | return arr; 2225 | } 2226 | return [val]; 2227 | }, 2228 | selectIndexOf: function(content, selector, 2229 | let, strict) { 2230 | if (content === selector) { 2231 | return true; 2232 | } 2233 | try { 2234 | if (let) { 2235 | content = content.toLowerCase(); 2236 | selector = selector.toLowerCase(); 2237 | } 2238 | if (strict) { 2239 | var s = " "; 2240 | return (s + content + s).indexOf(s + selector + s) > -1; 2241 | } else { 2242 | return content == selector; 2243 | } 2244 | } catch (e) { 2245 | return false; 2246 | } 2247 | }, 2248 | addCompleteEvent: function(elem, isDel, callback, erroCallback, timeout) { 2249 | if (isDel || callback || erroCallback) { 2250 | timeout = D.reviseTime(timeout, 1e4); 2251 | var event = "onload" in elem ? ["load", "error"] : [statech], 2252 | loadFunc = function() { 2253 | var isSta = event[0] == statech, 2254 | State = elem.readyState; 2255 | if (!isSta || isSta && (State == "complete" || State == "interactive")) { 2256 | errorFunc(true); 2257 | try { 2258 | D.isFunction(callback) && callback(); 2259 | } catch (e) { 2260 | console.log(e.message); 2261 | } 2262 | } 2263 | }, 2264 | errorFunc = function(isHand) { 2265 | STtime && clearTimeout(STtime) && (STtime = undefined); 2266 | delEvent(elem, event[0], loadFunc); 2267 | event[1] && delEvent(elem, event[1], errorFunc); 2268 | try { 2269 | isHand === true || D.isFunction(erroCallback) && erroCallback(); 2270 | } catch (e) { 2271 | console.log(e.message); 2272 | } 2273 | isDel && elem.parentNode && elem.parentNode.removeChild(elem); 2274 | }, 2275 | STtime = ST(errorFunc, timeout); 2276 | addEvent(elem, event[0], loadFunc); 2277 | event[1] && addEvent(elem, event[1], errorFunc); 2278 | } 2279 | }, 2280 | createScript: function(arg) { 2281 | var head = DOC[getByTagName]("head").item(0); 2282 | if (head && D.isObject(arg) && D.isString(arg.url)) { 2283 | var srcTxt = arg.url, 2284 | isDel = arg.isDel, 2285 | timeout = arg.timeout, 2286 | callback = arg.success, 2287 | erroCallback = arg.error, 2288 | script = DOC.createElement("script"); 2289 | script.src = srcTxt; 2290 | head.appendChild(script); 2291 | D.addCompleteEvent(script, isDel, callback, erroCallback, timeout); 2292 | return [head, script]; 2293 | } 2294 | }, 2295 | post: function(url, data, success) { 2296 | return new protected.ajax().post(url, data, success); 2297 | }, 2298 | get: function(url, data, success) { 2299 | return new protected.ajax().get(url, data, success); 2300 | }, 2301 | getJSON: function(url, data, success) { 2302 | return new protected.ajax().getJSON(url, data, success); 2303 | }, 2304 | ajax: function(options) { 2305 | var returns = new protected.ajax(); 2306 | if (D.isObject(options)) { 2307 | returns.ajax(options); 2308 | } 2309 | return returns; 2310 | }, 2311 | styleName: function(name, is) { 2312 | var styleNameArrRep = protected.styleNameArrRep; 2313 | try { 2314 | return is ? name.replace(uppercaseAZExpr, styleNameArrRep[0]) : name.replace(convertuppercaseExpr, styleNameArrRep[1]); 2315 | } catch (e) { 2316 | console.log(e.message); 2317 | return name; 2318 | } 2319 | }, 2320 | delVar: function(a, b) { 2321 | var is; 2322 | if (b in a) { 2323 | try { 2324 | is = delete a[b]; 2325 | } catch (e) {} 2326 | try { 2327 | is || (a[b] = undefined); 2328 | } catch (e) { 2329 | a[b] = emptyFunc; 2330 | } 2331 | return true; 2332 | } 2333 | return false; 2334 | }, 2335 | delEmptyObjArr: function(obj) { 2336 | var DEL = D.delEmptyObjArr, 2337 | type = toString.call(obj), 2338 | typeArr = D.isArray(obj, type), 2339 | typeObj = D.isObject(obj, type); 2340 | if (typeArr || typeObj) { 2341 | var isNoFor = true, 2342 | isDel = false; 2343 | if (typeArr) { 2344 | for (var i = obj.length - 1; i > -1; i--) { 2345 | isNoFor = false; 2346 | if (obj[i] == null) { 2347 | isDel = true; 2348 | obj.splice(i, 1); 2349 | } else if ((obj[i] = DEL(obj[i])) == null) isDel = true; 2350 | } 2351 | } else if (typeObj) { 2352 | for (var i in obj) { 2353 | if (obj.hasOwnProperty(i)) { 2354 | isNoFor = false; 2355 | if (obj[i] == null) { 2356 | isDel = true; 2357 | D.delVar(obj, i); 2358 | } else if ((obj[i] = DEL(obj[i])) == null) isDel = true; 2359 | } 2360 | } 2361 | } 2362 | if (isNoFor) { 2363 | obj = undefined; 2364 | } else if (isDel) obj = DEL(obj); 2365 | } 2366 | return obj; 2367 | }, 2368 | isBoolean: function(b) { 2369 | return typeof b == "boolean"; 2370 | }, 2371 | userAgent: uaMatch(navigator.userAgent), 2372 | isIe: function() { 2373 | return this.userAgent.browser === "msie" ? this.userAgent.version.charAt(0) : false; 2374 | }, 2375 | isTxt: function(str) { 2376 | var of = typeof str; 2377 | return of == "string" || of == "number" && !isNaN(str); 2378 | }, 2379 | isNumber: function(number) { 2380 | return !(number === null || isNaN(number)); 2381 | }, 2382 | isUndefined: function(str) { 2383 | return typeof str == "undefined"; 2384 | }, 2385 | reviseTime: function(time, defNum) { 2386 | if (!isNaN(time = parseFloat(time)) && time > 0) { 2387 | return time; 2388 | } 2389 | return defNum || 0; 2390 | }, 2391 | isString: function(str) { 2392 | return typeof str == "string"; 2393 | }, 2394 | removArray: removing, 2395 | isNodeCreateBody: function(node) { 2396 | while (node) { 2397 | if (node.tagName == "BODY") { 2398 | return true; 2399 | } 2400 | node = node.parentNode; 2401 | } 2402 | return false; 2403 | 2404 | }, 2405 | each: function(obj, fun) { 2406 | var i = 0, 2407 | isfun; 2408 | if (obj == null) return false; 2409 | if (D.isArray(obj) || (obj.item && !D.isWindow(obj)) || (isfun = D.isFunction(obj))) { 2410 | if (isfun) { 2411 | fun = obj; 2412 | obj = this; 2413 | } 2414 | var leng = obj.length, 2415 | obji; 2416 | for (; i < leng; i++) { 2417 | try { 2418 | obji = obj[i]; 2419 | obji != null && fun.call(obji, i, obji, leng); 2420 | } catch (e) { 2421 | console.log(e.message); 2422 | } 2423 | } 2424 | } else if (D.isObject(obj) && D.isFunction(fun)) { 2425 | for (i in obj) { 2426 | if (obj.hasOwnProperty(i)) { 2427 | try { 2428 | obji = obj[i]; 2429 | obji != null && fun.call(obji, i, obji); 2430 | } catch (e) { 2431 | console.log(e.message); 2432 | } 2433 | } 2434 | } 2435 | } else return false; 2436 | return true; 2437 | }, 2438 | eventCompatible: function(event, eventName) { 2439 | event || (event = window.event); 2440 | if (addEvent.att == 1) { 2441 | var SE = event.srcElement, 2442 | RT = eventName == "mouseenter" ? "fromElement" : "mouseleave" && "toElement"; 2443 | if (SE) event.target = SE; 2444 | if (RT) event.relatedTarget = event[RT]; 2445 | if ("returnValue" in event) event.preventDefault = protected.preventDefault(event); 2446 | } 2447 | return event; 2448 | }, 2449 | upload: function(MingGe, array, isdel) { 2450 | if (isdel) MingGe.splice(0, MingGe.length); 2451 | try { 2452 | push.apply(MingGe, array); 2453 | } catch (e) { 2454 | var i = 0, 2455 | leng = array.length; 2456 | for (; i < leng; i++) { 2457 | MingGe.push(array[i]); 2458 | } 2459 | } 2460 | }, 2461 | runEventApp: protected.runEventApp, 2462 | setInpType: protected.setInpType, 2463 | objToUrl: function(obj) { 2464 | var str = ""; 2465 | D.each(obj, function(key, val) { 2466 | D.isTxt(val) && (str += ENCODE(key) + "=" + ENCODE(val) + "&"); 2467 | }); 2468 | return str.replace(specialSignExpr, ""); 2469 | }, 2470 | getMobile: function() { 2471 | var ua = navigator.userAgent, 2472 | android = ua.match(/(Android)\s+([\d.]+)/), 2473 | ipad = ua.match(/(iPad).*OS\s([\d_]+)/), 2474 | iphone = !ipad && ua.match(/(iPhone\sOS)\s([\d_]+)/), 2475 | webos = ua.match(/(webOS|hpwOS)[\s\/]([\d.]+)/), 2476 | touchpad = webos && ua.match(/TouchPad/), 2477 | kindle = ua.match(/Kindle\/([\d.]+)/), 2478 | silk = ua.match(/Silk\/([\d._]+)/), 2479 | blackberry = ua.match(/(BlackBerry).*Version\/([\d.]+)/); 2480 | return { 2481 | webkit: this.userAgent.browser == "webkit", 2482 | android: android && android[2], 2483 | ipad: ipad && ipad[2].replace(/_/g, "."), 2484 | iphone: iphone && iphone[2].replace(/_/g, "."), 2485 | webos: webos && webos[2], 2486 | kindle: kindle && kindle[1], 2487 | silk: silk ? silk[1] : android && ua.match(/Kindle Fire/), 2488 | blackberry: blackberry && blackberry[2] 2489 | }; 2490 | }, 2491 | inArray: function(elem, array) { 2492 | if (array.indexOf) { 2493 | return array.indexOf(elem); 2494 | } 2495 | for (var i = 0, length = array.length; i < length; i++) { 2496 | if (array[i] === elem) { 2497 | return i; 2498 | } 2499 | } 2500 | return -1; 2501 | }, 2502 | bubbling: bubbling, 2503 | urlRevise: function(url, args) { 2504 | if (args !== "" && D.isTxt(args)) { 2505 | url += questionExpr.test(url) ? "&" + args : "?" + args; 2506 | } 2507 | return url; 2508 | }, 2509 | window: {}, 2510 | isHtml5: function() { 2511 | return !!DOC.createElement("canvas").getContext; 2512 | }, 2513 | _protected: protected, 2514 | html5Attribute: function(attribute) { 2515 | try { 2516 | var save = false, 2517 | attributeLow = D.isString(attribute) ? D.styleName(attribute) : "transform"; 2518 | attribute = attributeLow.replace(wExpr, attribute.charAt(0).toUpperCase()); 2519 | var bodyStyle = virDiv.style, 2520 | arr = [attributeLow, "Ms" + attribute, "Moz" + attribute, "Webkit" + attribute, "O" + attribute]; 2521 | for (var i = 0; i < 5; i++) { 2522 | if (arr[i] in bodyStyle) { 2523 | save = arr[i]; 2524 | break; 2525 | } 2526 | } 2527 | } catch (e) { 2528 | console.log(e.message); 2529 | } 2530 | return save; 2531 | } 2532 | }); 2533 | protected.tapFn.prototype = protected.tapFnPrototype; 2534 | D.bindFn.extend({ 2535 | tap: protected.tapFn, 2536 | doubleTap: protected.tapFn, 2537 | mouseenter: protected.mouseFn, 2538 | mouseleave: protected.mouseFn 2539 | }); 2540 | var CACHE = function(obj) { 2541 | var type = toString.call(obj); 2542 | if ((this.isObject = D.isObject(obj, type)) || D.isArray(obj, type)) { 2543 | this.dataCache = obj; 2544 | } else { 2545 | this.isObject = true; 2546 | this.dataCache = {}; 2547 | } 2548 | }; 2549 | CACHE.prototype = { 2550 | isObject: null, 2551 | eachCache: function(data, A, leng) { 2552 | for (var i = 0; i < leng; i++) { 2553 | try { 2554 | data = data[A[i]]; 2555 | } catch (e) { 2556 | break; 2557 | } 2558 | } 2559 | return data; 2560 | }, 2561 | searchCache: function() { 2562 | var A = arguments, 2563 | leng = A.length; 2564 | return this.eachCache(this.dataCache, A, leng); 2565 | }, 2566 | getElem: function(elem, index, arr) { 2567 | if (elem) { 2568 | D.isWindow(elem) && (elem = D.window); 2569 | var elemIndex = index; 2570 | index = elem[index]; 2571 | if (index) { 2572 | arr = D.isArray(arr) ? [index].concat(arr) : [index]; 2573 | return this.searchCache.apply(this, arr); 2574 | } 2575 | } 2576 | }, 2577 | delElem: function(elem, index, arr, isEmpty) { 2578 | if (elem) { 2579 | D.isWindow(elem) && (elem = D.window); 2580 | var elemIndex = index; 2581 | index = elem[index]; 2582 | if (index) { 2583 | arr = D.isArray(arr) ? [index].concat(arr) : [index]; 2584 | var R = this.delCache.apply(this, arr); 2585 | isEmpty && this.delEmpty(); 2586 | if (!this.dataCache[index] || D.isEmptyObject(this.dataCache[index])) { 2587 | D.delVar(elem, elemIndex); 2588 | } 2589 | return R; 2590 | } 2591 | } 2592 | }, 2593 | setElem: function(elem, index, arr) { 2594 | if (elem) { 2595 | D.isWindow(elem) && (elem = D.window); 2596 | if (!elem[index]) { 2597 | var ran = protected.createKey(); 2598 | if (this.dataCache[ran]) return this.setElem.apply(this, arguments); 2599 | this.dataCache[ran] = {}; 2600 | elem[index] = ran; 2601 | } 2602 | if (D.isArray(arr)) { 2603 | return this.setCache.apply(this, [elem[index]].concat(arr)); 2604 | } 2605 | } 2606 | }, 2607 | setCache: function() { 2608 | var A = arguments, 2609 | data = this.dataCache, 2610 | length = A.length, 2611 | leng = length - 2; 2612 | if (length > 1) { 2613 | for (var i = 0; i < leng; i++) { 2614 | if (!D.isObjArr(data[A[i]])) { 2615 | data[A[i]] = {}; 2616 | } 2617 | data = data[A[i]]; 2618 | } 2619 | data[A[leng]] = A[length - 1]; 2620 | return true; 2621 | } 2622 | }, 2623 | delEmpty: function() { 2624 | return D.delEmptyObjArr(this.dataCache) || (this.dataCache = this.isObject ? {} : []); 2625 | }, 2626 | key: protected.createKey(), 2627 | eventHandle: function(DOM, object, xxxEvent) { 2628 | var is = false, 2629 | obj = object.event; 2630 | if (D.isObject(object) && D.isObject(obj) && (xxxEvent == addEvent && D.isFunction(object.callback) || xxxEvent == delEvent)) { 2631 | var elem, func; 2632 | for (var name in obj) { 2633 | if (obj.hasOwnProperty(name)) { 2634 | if (D.isArray(obj[name])) { 2635 | elem = obj[name][1] || DOM; 2636 | func = obj[name][0]; 2637 | } else { 2638 | elem = DOM; 2639 | func = obj[name]; 2640 | } 2641 | if (D.isFunction(func)) { 2642 | xxxEvent(elem, trim(name), func) && (is = true); 2643 | } 2644 | } 2645 | } 2646 | } 2647 | return is; 2648 | }, 2649 | cloneEvent: function(A, B, isDelA, isEach, force) { 2650 | var key = MGBD + this.key, 2651 | getA = this.getElem(A, key), 2652 | index, eArray, i, getB, leng; 2653 | if (getA) { 2654 | if (force || addEvent.add) { 2655 | for (index in getA) { 2656 | if (getA.hasOwnProperty(index)) { 2657 | eArray = getA[index], i = 0, leng = eArray.length; 2658 | for (; i < leng; i++) { 2659 | this.writeEvent(B, index, eArray[i]); 2660 | } 2661 | } 2662 | } 2663 | } else { 2664 | D.delVar(B, key); 2665 | this.setElem(B, key, [D.copyObject(getA)]); 2666 | } 2667 | isDelA && this.removeEvent(A, null, {}); 2668 | } 2669 | if (isEach && A[getByTagName]) { 2670 | getA = A[getByTagName]("*"), getB = B[getByTagName]("*"); 2671 | for (i = 0, leng = getA.length; i < leng; i++) { 2672 | this.cloneEvent(getA[i], getB[i], isDelA, isEach); 2673 | } 2674 | } 2675 | }, 2676 | writeEvent: function(DOM, eventName, object) { 2677 | var is = this.eventHandle(DOM, object, addEvent); 2678 | if (is) { 2679 | var MingGeBind = MGBD + this.key, 2680 | arr = this.getElem(DOM, MingGeBind, [eventName]); 2681 | if (D.isArray(arr)) { 2682 | arr.push(object); 2683 | } else this.setElem(DOM, MingGeBind, [eventName, [object]]); 2684 | } 2685 | return is; 2686 | }, 2687 | forDelEvent: function(arr, DOM, MingGeBind, eventName, object) { 2688 | var is = false, 2689 | callback = object.callback, 2690 | isOne = object.isOne, 2691 | i = 0, 2692 | leng = arr.length; 2693 | for (; i < leng; i++) { 2694 | if (arr[i].callback == callback || !callback) { 2695 | if (isOne === true && arr[i].isOne !== true) continue; 2696 | this.eventHandle(DOM, arr[i], delEvent); 2697 | this.delElem(DOM, MingGeBind, [eventName, i]); 2698 | is = true; 2699 | } 2700 | } 2701 | return is; 2702 | }, 2703 | delAnimate: function(DOM) { 2704 | return this.delElem(DOM, MGAN + this.key); 2705 | }, 2706 | getAnimate: function(DOM, array) { 2707 | return this.getElem(DOM, MGAN + this.key, array); 2708 | }, 2709 | setAnimate: function(DOM, array) { 2710 | this.setElem(DOM, MGAN + this.key, array); 2711 | }, 2712 | removeEvent: function(DOM, eventName, object) { 2713 | var MingGeBind = MGBD + this.key, 2714 | is = false; 2715 | if (D.isString(eventName)) { 2716 | var arr = this.getElem(DOM, MingGeBind, [eventName]); 2717 | if (D.isArray(arr)) { 2718 | is = this.forDelEvent(arr, DOM, MingGeBind, eventName, object); 2719 | } 2720 | } else { 2721 | var obj = this.getElem(DOM, MingGeBind); 2722 | if (obj) { 2723 | for (var name in obj) { 2724 | if (obj.hasOwnProperty(name) && D.isArray(obj[name])) { 2725 | this.forDelEvent(obj[name], DOM, MingGeBind, name, object) && (is = true); 2726 | } 2727 | } 2728 | } 2729 | } 2730 | this.delEmpty(); 2731 | D.isWindow(DOM) && (DOM = D.window); 2732 | if (DOM[MingGeBind] && !this.dataCache[DOM[MingGeBind]]) { 2733 | D.delVar(DOM, MingGeBind); 2734 | } 2735 | return is; 2736 | }, 2737 | delCache: function() { 2738 | var A = arguments, 2739 | leng = A.length - 1, 2740 | save = this.eachCache(this.dataCache, A, leng); 2741 | if (save && A[leng] in save) { 2742 | leng = D.delVar(save, A[leng]); 2743 | return leng; 2744 | } 2745 | } 2746 | }; 2747 | var $data = new CACHE({}); 2748 | D.each(["width", "height", "top", "left"], function(i, item) { 2749 | D.fn[item] = function(item, newItem) { 2750 | return function(str) { 2751 | if (str == null) { 2752 | var node = this[0], 2753 | offset = "offset" + newItem; 2754 | if (!node) return null; 2755 | if (D.isWINDOC(node)) { 2756 | if (newItem == "Width") { 2757 | return protected.winWH("Width"); 2758 | } 2759 | if (newItem == "Height") { 2760 | return protected.winWH("Height"); 2761 | } 2762 | if (!(node = DOC.body)) { 2763 | return null; 2764 | } 2765 | } 2766 | return offset in node ? node[offset] : null; 2767 | } 2768 | str = parseFloat(str); 2769 | return isNaN(str) ? this : this.css(item, str + "px"); 2770 | }; 2771 | }(item, item.replace(wExpr, item.charAt(0).toUpperCase())); 2772 | }); 2773 | D.fn.off = D.fn.unbind; 2774 | var eventFunc = function(isDel) { 2775 | return function(elem, event, callback) { 2776 | var onEve = "on" + event, 2777 | eveArr = isDel ? ["removeEventListener", "detachEvent"] : ["addEventListener", "attachEvent"]; 2778 | if (elem[eveArr[0]]) { 2779 | elem[eveArr[0]](event, callback, false); 2780 | } else if (elem[eveArr[1]]) { 2781 | elem[eveArr[1]](onEve, callback); 2782 | } else if (onEve in elem) { 2783 | if (isDel) { 2784 | try { 2785 | elem[onEve] = null; 2786 | } catch (e) { 2787 | elem[onEve] = emptyFunc; 2788 | console.log(e.message); 2789 | } 2790 | } else { 2791 | elem[onEve] = callback; 2792 | } 2793 | } else return false; 2794 | return true; 2795 | }; 2796 | }, 2797 | addEvent = D.addEvent = eventFunc(), 2798 | delEvent = D.delEvent = eventFunc(true); 2799 | eventFunc = undefined; 2800 | if (DOC.addEventListener) { 2801 | addEvent.add = 1; 2802 | } else if (DOC.attachEvent) { 2803 | addEvent.att = 1; 2804 | } else addEvent.on = 1; 2805 | Date.now || (Date.now = function() { 2806 | return new Date().getTime(); 2807 | }); 2808 | if (!window.console || !console.log) { 2809 | window.console = { 2810 | log: function() {} 2811 | }; 2812 | } 2813 | if (D.isFunction(window.define) && define.amd) { 2814 | // AMD 2815 | define(MingGeJs, function() { 2816 | return MingGe; 2817 | }); 2818 | } else if (typeof exports === 'object') { 2819 | // Node.js 2820 | module.exports = MingGe; 2821 | } 2822 | (function(args) { 2823 | var eveName, i = 0, 2824 | h5Ab = D.html5Attribute; 2825 | protected.transition = h5Ab("transition"); 2826 | protected.opacity = h5Ab("opacity") || "filter"; 2827 | protected.transform = h5Ab("transform"); 2828 | while (eveName = args[i++]) { 2829 | D.fn[eveName] = function(eveName) { 2830 | return function(callback) { 2831 | if (D.isUndefined(callback)) { 2832 | bubbling.call(this, eveName); 2833 | return this; 2834 | } 2835 | return this.bind(eveName, callback); 2836 | }; 2837 | }(eveName); 2838 | } 2839 | args = i = undefined; 2840 | })(["blur", "focus", "focusin", "focusout", "resize", "scroll", "unload", "click", "dblclick", "mousedown", "mouseup", "mousemove", "mouseover", "mouseout", "mouseenter", "mouseleave", "change", "select", "submit", "keydown", "keypress", "keyup", "error", "touchstart", "touchmove", "touchend", "touchcancel", "tap", "doubleTap", "input", "propertychange"]); 2841 | window[varName] = D; 2842 | })(window, "$"); --------------------------------------------------------------------------------