├── .gitignore ├── README.md ├── dev ├── PCPrompt.js ├── cardSlider.js ├── compare.js ├── cookie.js ├── css.js ├── dialog.js ├── enablea.js ├── ezLoader.js ├── ezScroll.js ├── getTransfromValue.js ├── imgPlayer.js ├── isDom.js ├── jsonp.js ├── klass.js ├── launchApp.js ├── loader.js ├── numberScroll.js ├── objectUpdate.js ├── parallaxSlider.js ├── prefix.js ├── randomSort.js ├── remember.js ├── request.js ├── shareTips.js ├── stylesheet.js ├── textMarquee.js ├── urlAppend.js └── warn.js └── min ├── PCPrompt.js ├── cardSlider.js ├── compare.js ├── cookie.js ├── css.js ├── dialog.js ├── enablea.js ├── ezLoader.js ├── ezScroll.js ├── getTransfromValue.js ├── imgPlayer.js ├── isDom.js ├── jsonp.js ├── klass.js ├── launchApp.js ├── loader.js ├── numberScroll.js ├── objectUpdate.js ├── parallaxSlider.js ├── prefix.js ├── randomSort.js ├── remember.js ├── request.js ├── shareTips.js ├── stylesheet.js ├── textMarquee.js ├── urlAppend.js └── warn.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | db.json 4 | public/ 5 | external/ 6 | internal/ 7 | .deploy_internal/ 8 | .deploy_external/ 9 | .deploy_git/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 关于HaloJS 2 | 3 | HaloJS 是一款基于ZeptoJS并采用 CMD 规范面向移动端提供各种实用工具的组件库。 4 | 5 | 6 | ## 如何使用 7 | 8 | 1.   **`CMD` 模式下,直接引用模块进入开发**,如下: 9 | 10 | ```javascript 11 | //SeaJS 12 | require("request"); 13 | $.request("k");//获取当前url参数名为k的值 14 | ``` 15 | 16 | 2.   **非 `CMD` 模式下,直接下载模块即可使用**: 17 | 18 | ```javascript 19 | $.request("k"); 20 | ``` 21 | 22 | 23 | ## CDN地址 24 | 25 | [http://storage.jd.com/halojs.respository/](http://storage.jd.com/halojs.respository/) 26 | 27 | 例如,使用`cardSlider`可以直接引入: 28 | 29 | ```html 30 | ; 31 | ``` 32 | 33 | ## HaloJS 的优势 34 | 35 | HaloJS是由[凹凸实验室](http://aotu.io/about/) 的小伙伴发起并维护。凹凸有一支专业的深耕手Q微信平台的团队,使用着HaloJs的模块,是HaloJS稳定可靠的保证。 36 | 37 | ## 问题反馈 38 | 39 | 欢迎各界小伙伴提供意见(请小刀谢谢)。 40 | 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /dev/PCPrompt.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 在PC打开的友好提示 6 | @ 用法: 7 | $.PCPrompt( 8 | { 9 | title: "京东温馨提示", 10 | QRCode: '',//二维码URL 11 | link: location.href, 12 | hint: '请使用 手机/平板 等移动设备扫描二维码', 13 | description: '',//其它描述信息 14 | background: 'rgba(0,0,0,.4)',//蒙层背景 15 | color: '#fff',//整体颜色 16 | minWidth: 800//PC的最少宽度 -- 如果设置了这个值,代码会自动检查如果大于这个值,蒙层会自动显示 17 | } 18 | ); 19 | */ 20 | define("PCPrompt",function(require,exports,module){ 21 | var _arg={ 22 | //默认的参数 23 | title: "温馨提示", 24 | QRCode: 'http://qr.liantu.com/api.php?&text='+encodeURIComponent(location.href),//二维码URL 25 | link: location.href, 26 | hint: '请使用 手机/平板 等移动设备扫描二维码', 27 | description: '',//其它描述信息 28 | background: 'rgba(0,0,0,.8)',//蒙层背景 29 | color: '#fff',//整体颜色 30 | minWidth: 0//PC的最少宽度 -- 如果设置了这个值,代码会自动检查如果大于这个值,蒙层会自动显示 31 | }, 32 | styleSheet=require("stylesheet"); 33 | module.exports=function(arg){ 34 | var arg=arg||{}; 35 | for(var i in _arg){ 36 | arg[i]||(arg[i]=_arg[i]); 37 | } 38 | arg.minWidth=parseInt(arg.minWidth)||0; 39 | styleSheet.add( 40 | '\ 41 | .halo-pcprompt-mask{position: absolute; position: fixed; left: 0; top: 0; width: 100%; height: 100%; background: '+arg.background+'; color: '+arg.color+'; text-align: center;}\ 42 | .halo-pcprompt-title{position: relative; text-align: center; color: #fff; padding: 0; margin: 80px auto 10px; font-size: 30px;}\ 43 | .halo-pcprompt-qrcode{position: relative; width: 300px; height: 300px; padding: 0; overflow: hidden; border-radius: 15px; background-color: #fff; margin: 20px auto 30px;}\ 44 | .halo-pcprompt-qrcode img{display: block; width: 100%; height: 100%;}\ 45 | .halo-pcprompt-hint{position: relative; font-size: 12px; height: 40px; line-height: 40px; border-radius: 20px; box-shadow: 0 0 0 #555,0 1px 1px #555,0 0 0 #555,0 -1px 1px #282828; background-color: rgba(0,0,0,0.05); display:inline-block; padding: 0 20px; opacity: .7;}\ 46 | .halo-pcprompt-description{display: block; margin: 20px auto; font-size: 12px; line-height: 1.5; opacity: .7;}\ 47 | ' 48 | ); 49 | var mask=document.createElement("div"),html='\ 50 |
'+arg.title+'
\ 51 |
\ 52 | \ 53 |
\ 54 |
'+arg.hint+'
\ 55 |
'+arg.description+'
\ 56 | '; 57 | mask.className="halo-pcprompt-mask",mask.innerHTML=html; 58 | if(arg.minWidth>0){ 59 | var cw=document.documentElement.clientWidth||document.body.clientWidth; 60 | if(arg.minWidth=totalPage)arg.cover=totalPage-1;//超过最后一页,就认为是最后一页 91 | else if(arg.cover<0)arg.cover=0;//小于0,就认为是第一页 92 | var cur=arg.cover,next=cur+1,prev=cur-1; 93 | if(arg.infinite){ 94 | if(prev<0)prev=totalPage-1; 95 | if(next>totalPage-1)next=0; 96 | } 97 | dom.parentNode.style.overflow="hidden"; 98 | window.addEventListener('resize',function(){//动态获取高度 99 | ch=isY?document.documentElement.clientHeight:document.documentElement.clientWidth; 100 | }); 101 | var timeoutId,timeCb, 102 | _setTimeout=function(cb,time){ 103 | //单线程setTimeout代替函数 104 | timeCb=cb; 105 | timeoutId=setTimeout(function(){ 106 | cb(); 107 | timeCb=cb=null; 108 | },time); 109 | },_finishedTimeout=function(){ 110 | clearTimeout(timeoutId); 111 | typeof(timeCb)=="function"&&timeCb(); 112 | }; 113 | var isTopEdge=false,isBottomEdge=false;//触底触顶 114 | var _touchstart=function(e){ 115 | var touches=e.targetTouches||e.changedTouches,touch=touches[0]; 116 | x=touch.pageX,y=touch.pageY; 117 | originXorY=touch[pageXorY]; 118 | _finishedTimeout(); 119 | }, 120 | _touchmove1=function(e){ 121 | var touches=e.targetTouches||e.changedTouches,touch=touches[0],curXorY=touch[pageXorY]; 122 | var offset=curXorY-originXorY; 123 | page[prev].style[webkit+"transform"]=translateL+(offset-ch)+'px'+translateR; 124 | //page[cur].style[webkit+"transform"]=translateL+offset+'px'+translateR; 125 | page[next].style[webkit+"transform"]=translateL+(offset+ch)+'px'+translateR; 126 | doScale(offset); 127 | }, 128 | _touchmove2=function(e){ 129 | var touches=e.targetTouches||e.changedTouches,touch=touches[0],curXorY=touch[pageXorY]; 130 | var offset=curXorY-originXorY; 131 | if(cur0){ 132 | page[prev].style[webkit+"transform"]=translateL+(offset-ch)+'px'+translateR; 133 | //page[cur].style[webkit+"transform"]=translateL+offset+'px'+translateR; 134 | page[next].style[webkit+"transform"]=translateL+(offset+ch)+'px'+translateR; 135 | doScale(offset); 136 | isTopEdge=isBottomEdge=false; 137 | }else{ 138 | if(offset>0){ 139 | if(cur==0){ 140 | //触顶 141 | page[cur].style[webkit+"transform"]=translateL+offset/3+'px'+translateR; 142 | page[next].style[webkit+"transform"]=translateL+ch+'px'+translateR; 143 | isTopEdge=true; 144 | }else{ 145 | //向上 146 | page[prev].style[webkit+"transform"]=translateL+(offset-ch)+'px'+translateR; 147 | //page[cur].style[webkit+"transform"]=translateL+offset+'px'+translateR; 148 | doScale(offset); 149 | isBottomEdge=false; 150 | } 151 | }else if(offset<0){ 152 | if(cur==totalPage-1){ 153 | //触底 154 | page[cur].style[webkit+"transform"]=translateL+offset/3+'px'+translateR; 155 | page[prev].style[webkit+"transform"]=translateL+(-1*ch)+'px'+translateR; 156 | isBottomEdge=true; 157 | }else{ 158 | //向下 159 | //page[cur].style[webkit+"transform"]=translateL+offset+'px'+translateR; 160 | page[next].style[webkit+"transform"]=translateL+(offset+ch)+'px'+translateR; 161 | doScale(offset); 162 | isTopEdge=false; 163 | } 164 | } 165 | } 166 | }, 167 | doScale=function(offset){ 168 | //将scale操作单独封装起来,因为多次调用,且方法一样 169 | //需要scale模式 170 | if(needScale){ 171 | if(offset>0){ 172 | page[cur].style[webkit+"transform-origin"]=transformOriginB; 173 | page[cur].style[webkit+"transform"]="scale("+(1-.2*Math.abs(offset/ch))+") translateZ(0)"; 174 | }else if(offset<0){ 175 | page[cur].style[webkit+"transform-origin"]=transformOriginT; 176 | page[cur].style[webkit+"transform"]="scale("+(1-.2*Math.abs(offset/ch))+") translateZ(0)"; 177 | }else{ 178 | page[cur].style[webkit+"transform-origin"]=''; 179 | page[cur].style[webkit+"transform"]=''; 180 | } 181 | } 182 | }, 183 | _touchend1=function(e){ 184 | var touches=e.changedTouches||e.targetTouches,touch=touches[0],curXorY=touch[pageXorY]; 185 | var offset=curXorY-originXorY; 186 | if(offset>0&&offset>=arg.offset){ 187 | //往下 188 | var transition=webkit+'transform '+arg.duration/1000+'s linear'; 189 | page[prev].style[webkit+'transition']=transition,page[prev].style[webkit+"transform"]=translateL+0+'px'+translateR; 190 | if(needScale){ 191 | page[cur].style[webkit+'transition']=transition,page[cur].style[webkit+"transform"]="scale(.8,.8) translateZ(0)"; 192 | } 193 | if(next<=totalPage-1)page[next].style[webkit+"transform"]=translateL+ch+'px'+translateR; 194 | var _cur=cur,_prev=prev,_next=next; 195 | _setTimeout(function(){ 196 | page[_cur].style[webkit+'transition']=''; 197 | page[_cur].style[webkit+'transform']=translateL+ch+'px'+translateR; 198 | page[_cur].style.zIndex='1'; 199 | page[_prev].style[webkit+'transition']=''; 200 | page[_prev].style.zIndex='0'; 201 | arg.onchange.call(page,_cur,_prev); 202 | },arg.duration); 203 | fixed(-1); 204 | }else if(offset<0&&-1*offset>=arg.offset){ 205 | //往上 206 | var transition=webkit+'transform '+arg.duration/1000+'s linear'; 207 | if(needScale){ 208 | page[cur].style[webkit+'transition']=transition,page[cur].style[webkit+"transform"]="scale(.8,.8) translateZ(0)"; 209 | } 210 | page[next].style[webkit+'transition']=transition,page[next].style[webkit+"transform"]=translateL+0+'px'+translateR; 211 | if(prev>=0)page[prev].style[webkit+"transform"]=translateL+(-1*ch)+'px'+translateR; 212 | var _cur=cur,_prev=prev,_next=next; 213 | _setTimeout(function(){ 214 | page[_cur].style[webkit+'transition']=''; 215 | page[_cur].style[webkit+'transform']=translateL+(-1*ch)+'px'+translateR; 216 | page[_cur].style.zIndex='1'; 217 | page[_next].style[webkit+'transition']=''; 218 | page[_next].style.zIndex='0'; 219 | arg.onchange.call(page,_cur,_next); 220 | },arg.duration); 221 | fixed(1); 222 | }else if(offset!=0){ 223 | //回弹 224 | var transition=webkit+'transform '+arg.duration2/1000+'s linear'; 225 | if(prev>=0)page[prev].style[webkit+'transition']=transition,page[prev].style[webkit+"transform"]=translateL+(-1*ch)+'px'+translateR; 226 | if(needScale){ 227 | page[cur].style[webkit+'transition']=transition,page[cur].style[webkit+"transform"]="scale(1,1) translateZ(0)"; 228 | } 229 | if(next<=totalPage-1)page[next].style[webkit+'transition']=transition,page[next].style[webkit+"transform"]=translateL+ch+'px'+translateR; 230 | var _cur=cur,_prev=prev,_next=next; 231 | _setTimeout(function(){ 232 | if(!isMoving){ 233 | page[_cur].style[webkit+'transition']=''; 234 | } 235 | if(prev>=0)page[_prev].style[webkit+'transition']=''; 236 | if(next<=totalPage-1)page[_next].style[webkit+'transition']=''; 237 | },arg.duration2); 238 | } 239 | }, 240 | isMoving=false, 241 | _touchend2=function(e){ 242 | if(isTopEdge||isBottomEdge){ 243 | //如触底或触顶了,回弹 244 | page[cur].style[webkit+'transition']=webkit+'transform '+arg.duration2/1000+'s linear' 245 | page[cur].style[webkit+"transform"]=translateL+0+'px'+translateR; 246 | _setTimeout(function(){ 247 | isTopEdge=isBottomEdge=false; 248 | page[cur].style[webkit+'transition']=''; 249 | },arg.duration2); 250 | }else{ 251 | _touchend1(e); 252 | } 253 | }, 254 | fixed=function(n){ 255 | //确定cur,next,prev的数值 256 | cur=cur+n,prev=cur-1,next=cur+1; 257 | if(!arg.infinite)return; 258 | if(cur>=totalPage){ 259 | cur=0; 260 | prev=totalPage-1; 261 | next=1; 262 | }else if(cur==totalPage-1){ 263 | next=0; 264 | }else if(cur<0){ 265 | cur=totalPage-1; 266 | prev=cur-1; 267 | next=0; 268 | }else if(cur==0){ 269 | prev=totalPage-1; 270 | } 271 | }, 272 | bindEvent=function(){ 273 | for(var i=0,len=page.length;i=0||index<=totalPage-1){ 321 | //合法页码 322 | var transition=webkit+'transform '+arg.duration/1000+'s linear',flag=index>cur?-1:1; 323 | if(arg.infinite){ 324 | flag=page[index].style[webkit+'transform'].indexOf('-')>=0?1:-1; 325 | } 326 | console.log(flag); 327 | //page[cur].style[webkit+'transition']=transition,page[cur].style[webkit+"transform"]=translateL+(flag*ch)+'px'+translateR; 328 | if(needScale){ 329 | if(flag==-1){ 330 | page[cur].style[webkit+'transform-origin']=transformOriginT; 331 | }else{ 332 | page[cur].style[webkit+'transform-origin']=transformOriginB; 333 | } 334 | page[cur].style[webkit+'transition']=transition,page[cur].style[webkit+"transform"]='scale(.8,.8) translateZ(0)'; 335 | } 336 | page[index].style[webkit+'transition']=transition,page[index].style[webkit+"transform"]=translateL+0+'px'+translateR; 337 | isMoving=true; 338 | var _cur=cur,_next=index; 339 | _setTimeout(function(){ 340 | isMoving=false; 341 | page[_cur].style[webkit+'transition']=''; 342 | page[_cur].style[webkit+'transform-origin']=''; 343 | page[_cur].style[webkit+'transform']=''; 344 | page[_cur].style.zIndex=1; 345 | page[_cur].style[webkit+'transform']=translateL+(flag*ch)+'px'+translateR; 346 | page[_next].style[webkit+'transition']=''; 347 | page[_next].style.zIndex=0; 348 | arg.onchange.call(page,_cur,_next); 349 | },arg.duration); 350 | if(arg.infinite){ 351 | cur=index,prev=cur-1,next=cur+1; 352 | if(prev<0)prev=totalPage-1; 353 | if(next>totalPage-1)next=0; 354 | } 355 | else{ 356 | cur=index,prev=cur-1,next=cur+1; 357 | } 358 | } 359 | }; 360 | return o; 361 | }; 362 | module.exports=function(arg){ 363 | if(isDom(this)){ 364 | //是fn扩展过来的 365 | arg.container=this; 366 | _cardSlider(arg); 367 | }else if(Object.prototype.toString.call(this)=="[object Array]"){ 368 | for(var i=0,len=this.length;i=0&&styleSheet.remove(styleSheetIndex); 132 | styleSheetIndex=styleSheet.add('\ 133 | .halo-dialog-mask{position: fixed; width: 100%; height: 100%; left: 0; top: 0; text-align: center;}\ 134 | .halo-dialog-mask::before{content: ""; display: inline-block; width: 0; height: 100%; overflow: hidden; vertical-align: middle;}\ 135 | .halo-dialog-box{position: relative; display:inline-block; width: 240px; height: auto; padding: 15px; background-color: rgba(0,0,0,.9); vertical-align: middle; border-radius: 3px; color: #fff; zoom: '+__arg.zoom+';}\ 136 | .halo-dialog-alert,.halo-dialog-error,.halo-dialog-success{display: block; position: relative; width: 50px; height: 50px; border-radius: 25px; box-sizing: border-box; border: '+__arg.stroke.width+'px solid '+__arg.stroke.color+'; margin: 0 auto 20px;}\ 137 | .halo-dialog-alert::before{content: ""; display: block; width: '+__arg.stroke.width+'px; height: 20px; background-color: '+__arg.stroke.color+'; margin: 10px auto 2px;}\ 138 | .halo-dialog-alert::after{content: ""; display: block; width: 10px; height: 10px; margin: 0 auto; border: 1px solid '+__arg.stroke.color+'; border-radius: 6px; '+prefix+'transform-origin: center top; '+prefix+'transform: scale(.3) translate3d(2px,0,0);}\ 139 | .halo-dialog-error::before{content: ""; display: block; position: absolute; width: '+__arg.stroke.width+'px; height: 24px; background-color: '+__arg.stroke.color+'; left: 50%; top: 50%; margin: -12px 0 0 0; '+prefix+'transform: rotate(45deg);}\ 140 | .halo-dialog-error::after{content: ""; display: block; position: absolute; width: '+__arg.stroke.width+'px; height: 24px; background-color: '+__arg.stroke.color+'; left: 50%; top: 50%; margin: -12px 0 0 0; '+prefix+'transform: rotate(-45deg);}\ 141 | .halo-dialog-success::before{content: ""; display: block; position: absolute; width: 24px; height: 12px; border-left: '+__arg.stroke.width+'px solid '+__arg.stroke.color+'; border-bottom:'+__arg.stroke.width+'px solid '+__arg.stroke.color+'; top: 22px; left: 20px; '+prefix+'transform-origin: left bottom; '+prefix+'transform: rotate(-45deg);}\ 142 | .halo-dialog-text{margin: 20px; overflow: hidden;}\ 143 | .halo-dialog-one-btn,.halo-dialog-one-btn:active,.halo-dialog-one-btn:visited{display: block; position: relative; width: 210px; height: 30px; line-height: 30px; text-align: center; text-decoration: none; border-radius: 3px; color: #fff; background-color: #3985ff; margin: 10px auto 0;}\ 144 | .halo-dialog-two-btn,.halo-dialog-two-btn:active,.halo-dialog-two-btn:visited{display: block; position: relative; width: 100px; height: 30px; line-height: 30px; text-align: center; text-decoration: none; border-radius: 3px; color: #fff; background-color: #3985ff; left: -55px; margin: 10px auto 0;}\ 145 | .halo-dialog-two-btn:nth-child(even),.halo-dialog-two-btn:active:nth-child(even),.halo-dialog-two-btn:visited:nth-child(even){margin-top: -30px; left: 55px; background-color: #f3f3f3; color: #333;}\ 146 | .halo-dialog-close{position: absolute; width: 20px; height: 20px; border: 10px solid transparent; top: 0; right: 0; display: block;}\ 147 | .halo-dialog-close::before,.halo-dialog-close::after{content: ""; position: absolute; display: block; width: '+__arg.stroke.width+'px; height: 20px; left: 50%; top: 0; background-color: '+__arg.stroke.color+'; '+prefix+'transform: rotate(45deg) translate3d(-50%,0,0);}\ 148 | .halo-dialog-close::after{content: ""; '+prefix+'transform: rotate(-45deg) translate3d(-50%,0,0);}\ 149 | .halo-dialog-loading-box{position: relative; display: inline-block; width: 100px; height: 100px; background-color: rgba(0,0,0,.5); padding: 10px; border-radius: 3px; zoom: '+__arg.zoom+';}\ 150 | .halo-dialog-loading{background:url(data:image/png;base64,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) 0 0 no-repeat; background-size:100%; width:50px; height:50px; margin: 16px auto 0; '+prefix+'animation: halo-dialog-loading-round 1.6s linear infinite;}\ 151 | .halo-dialog-loading-box .halo-dialog-text{margin: 10px; color: #fff; white-space: nowrap; overflow: hidden;}\ 152 | @'+prefix+'keyframes halo-dialog-loading-round{0%{'+prefix+'transform: rotate(0deg);}100%{'+prefix+'transform: rotate(360deg);}}\ 153 | '); 154 | }, 155 | makeAttr=function(arr){ 156 | var type=Object.prototype.toString.call(arr),_this=this; 157 | if('[object Object]'==type){ 158 | //object对象 159 | arr=[arr]; 160 | }else if("[object Undefined]"==type){//undefined 161 | return ; 162 | }else if('[object Array]'!=type){ 163 | console.log("wrong type for makeAttr"); 164 | return ;//类型不对 165 | } 166 | for(var i=0,len=arr.length;i'; 233 | box.innerHTML=str; 234 | var len=arg.btns.length; 235 | if(1<=len){ 236 | var btnClassName=1==len?"halo-dialog-one-btn":"halo-dialog-two-btn",btnsWrp=document.createElement("div");//按钮的默认样式 237 | var lastIndex=len-1,odd=len%2; 238 | for(var i=0,btns=arg.btns;i5||offsetY>5){//touchmove 如果触发了,那个偏移量在5px都认为是没touchmove 29 | return ; 30 | } 31 | if(""!=touchType){ 32 | //表示在touchstart,touchmove处理已经preventDefault了,需要程序来触发点击 33 | chkEl(e); 34 | }else{ 35 | //touchstart,touchmove未执行preventDefault。需要延迟 50ms 再判断touchend有没有触发preventDefault; 36 | setTimeout(function(){ 37 | if(""!=touchType){//touchend触发了preventDefault,需要程序来触发点击 38 | chkEl(e); 39 | } 40 | //未触发preventDefault,让浏览器来处理 41 | },50); 42 | } 43 | } 44 | function deptchClick(comment){ 45 | var ev = document.createEvent('HTMLEvents'); 46 | ev.initEvent('click', true, true); 47 | comment.dispatchEvent(ev); 48 | } 49 | function chkEl(e){ 50 | var target=e.target; 51 | //触发click事件 52 | deptchClick(target); 53 | return ;//如果各个机型都成立的话,可以把下面的代码删除 54 | if(target&&target.tagName=='A'){ 55 | //是A元素 56 | chkA(target.href); 57 | }else{ 58 | chkParent(target); 59 | } 60 | } 61 | function chkA(href){ 62 | if(!!href&&href.indexOf('javascript:')!=0){ 63 | //是href链接 64 | location.href=href; 65 | }else if(href.indexOf('javascript:')==0){//表示执行一段js代码 66 | var evalString=href.replace('javascript:',''); 67 | eval(decodeURIComponent(evalString)); 68 | } 69 | }; 70 | function chkParent(el){ 71 | var parent=el.parentNode; 72 | while('BODY'!=parent.tagName&&'HTML'!=parent.tagName){ 73 | if('A'==parent.tagName){ 74 | //是A元素,不止 75 | chkA(parent.href); 76 | break; 77 | } 78 | parent=parent.parentNode; 79 | } 80 | }; 81 | module.exports={}; 82 | }); 83 | 84 | 85 | -------------------------------------------------------------------------------- /dev/ezLoader.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 懒人加载优化版 6 | @ 用法:$.ezLoader( 7 | { 8 | fadeIn: 0, 9 | preload: document.documentElement.clientHeight, 10 | zoom: 1 11 | } 12 | ); 13 | @ 后续方向,支持fn扩展与支持指定容器的ezLoader 14 | */ 15 | define("ezLoader",function(require,exports,module){ 16 | var prefix=require("prefix"); 17 | var _ezLoader=function(fadein,preload_distance,zoom){ 18 | zoom=zoom||1; 19 | fadein=typeof(fadein)=='undefined'?1:fadein; 20 | var getTop = function(e) { 21 | var parent=e.offsetParent; 22 | if(parent==null)return -1;//祖先被display:none了 23 | var offset = e.offsetTop; 24 | while(parent.tagName!='BODY'&&parent.tagName!='HTML'){ 25 | offset+=parent.offsetTop; 26 | parent=parent.offsetParent; 27 | } 28 | return offset*zoom; 29 | },wh=window.screen.height,listenscroll=function(){ 30 | window.addEventListener('scroll',load) 31 | },unlistenscroll=function(){ 32 | window.removeEventListener('scroll',load) 33 | },load=function(){ 34 | var st=document.body.scrollTop||document.documentElement.scrollTop||window.HALO_ST||0; 35 | for(var i=0,len=shake.length;i=shake[i][0]){ 37 | shake[i][2]||(function(i){ 38 | var _i=shake[i][3]; 39 | _shake[_i].onload=_shake[_i].onerror=function(){ 40 | if(typeof(o.load_change)=='function'){ 41 | o.load_change(_shake[_i]); 42 | } 43 | if(++has_loaded==len){ 44 | unlistenscroll();//取消监听 45 | }; 46 | fadein&&(this.style.opacity='1'); 47 | }; 48 | shake[i][2]=1;//表示不用再加载了 49 | _shake[_i].src=shake[i][1]; 50 | }(i)); 51 | } 52 | } 53 | },has_loaded=0,_shake=document.querySelectorAll('[halo-data-ez]'),shake=[]; 54 | for(var i=0,len=_shake.length;i2){ 18 | for(var i=2;i0){ 25 | key_value=key_value[0]; 26 | value_list=key_value.replace(reg,'$1').split(','); 27 | for(var i=0;i=0){ 87 | return num%len; 88 | }else{ 89 | return (len+num%len); 90 | } 91 | }; 92 | //处理事件 93 | var lock=false,start_x=0,start_y=0,cur=0,previous=fix_page(-1),next=fix_page(1),offset=0,cur_motion='none',orientation='none',_orientation='none',pre,hasFinger=false; 94 | var _touchstart=function(e){ 95 | autoTimer&&clearTimeout(autoTimer);//阻止自动播放 96 | if(o.stop)return; 97 | //e.stopPropagation(),e.preventDefault();//阻止冒泡 98 | hasFinger=true; 99 | if(lock)return ; 100 | var touchers=e.changedTouches||e.targetTouches; 101 | start_x=touchers[0].pageX,start_y=touchers[0].pageY; 102 | }, 103 | _touchmove=function(e){ 104 | if(o.stop)return; 105 | hasFinger=true; 106 | // e.stopPropagation(),e.preventDefault();//阻止冒泡 107 | if(lock)return ; 108 | var touchers=e.changedTouches||e.targetTouches,_x=touchers[0].pageX,_y=touchers[0].pageY; 109 | if('none'==cur_motion){ 110 | //手势同步判断 111 | var offset_x=_x-start_x,offset_y=_y-start_y; 112 | if(Math.abs(offset_x)==Math.abs(offset_y)){ 113 | e.preventDefault(),e.stopPropagation(); 114 | return ;//分不出方向,等待分清方向 115 | }else if(Math.abs(offset_x)>Math.abs(offset_y)){ 116 | cur_motion='X'; 117 | }else{ 118 | cur_motion="Y"; 119 | } 120 | if(motion!=cur_motion){ 121 | //方向不一致,解绑事件 122 | container.removeEventListener('touchstart',_touchstart,false); 123 | container.removeEventListener('touchmove',_touchmove,false); 124 | container.removeEventListener('release',_release,false); 125 | //手指离开后,重新绑定原来的事件 126 | container.addEventListener('touchend',rebind,false); 127 | container.addEventListener('touchcancel',rebind,false); 128 | return ; 129 | } 130 | } 131 | e.stopPropagation(),e.preventDefault();//阻止冒泡 132 | if('X'==motion){ 133 | offset=_x-start_x; 134 | images[cur].style[webkit+'transform']='translate3d('+offset+'px,0,0)'; 135 | }else{ 136 | offset=_y-start_y; 137 | images[cur].style[webkit+'transform']='translate3d(0,'+offset+'px,0)'; 138 | } 139 | if(offset>0){ 140 | //向下或向右 141 | orientation='X'==cur_motion?'right':'up'; 142 | }else if(offset<0){ 143 | //向上或向左 144 | orientation='X'==cur_motion?'left':'down'; 145 | }else{ 146 | //没有方向 147 | orientation='none'; 148 | } 149 | if(orientation!=_orientation){ 150 | //变向 151 | if(offset>0){ 152 | 'X'==cur_motion?(images[previous].style.left='-100%'):(images[previous].style.top='-100%'); 153 | images[previous].style.display='block',images[next].style.display='none'; 154 | pre=previous; 155 | }else if(offset<0){ 156 | 'X'==cur_motion?(images[next].style.left='100%'):(images[next].style.top='100%'); 157 | images[next].style.display='block',images[previous].style.display='none'; 158 | pre=next; 159 | } 160 | _orientation=orientation; 161 | }; 162 | if('X'==motion){ 163 | images[pre].style[webkit+'transform']='translate3d('+offset+'px,0,0)'; 164 | }else{ 165 | images[pre].style[webkit+'transform']='translate3d(0,'+offset+'px,0)'; 166 | } 167 | o.ondrag&&o.ondrag(offset,cur,pre);//正在拖曳 168 | }, 169 | _release=function(e){ 170 | if(o.stop)return ; 171 | o.auto&&autoplay();//恢复自动播放 172 | if(lock)return ; 173 | lock=true;//锁定手指 174 | var absoffset=Math.abs(offset),_restore=absoffset<30; 175 | o.release&&o.release(_restore,cur,pre);//拖曳后手指松开 176 | if(_restore&&absoffset!=0){ 177 | //小于自动移动的最小偏移量 178 | addClass(images[cur],restore),addClass(images[pre],restore); 179 | images[pre].style[webkit+'transform']=images[cur].style[webkit+'transform']='translate3d(0,0,0)'; 180 | setTimeout(function(){ 181 | removeClass(images[cur],restore),removeClass(images[pre],restore); 182 | images[pre].style.display='none'; 183 | offset=0,cur_motion='none',orientation='none',_orientation='none',lock=false,hasFinger=false;//重置参数 184 | },200); 185 | }else if(absoffset!=0){ 186 | move(); 187 | }else{ 188 | lock=false; 189 | hasFinger=false; 190 | } 191 | }, 192 | move=function(){ 193 | //松手后的位移 194 | addClass(images[cur],keep),addClass(images[pre],keep),p=offset>0?'':'-'; 195 | if('X'==motion){ 196 | //images[pre].style[webkit+'transform']=images[cur].style[webkit+'transform']='translate3d('+p+'100%,0,0)'; 197 | images[pre].style[webkit+'transform']=images[cur].style[webkit+'transform']='translate3d('+p+images[cur].offsetWidth+'px,0,0)'; 198 | }else{ 199 | //images[pre].style[webkit+'transform']=images[cur].style[webkit+'transform']='translate3d(0,'+p+'100%,0)'; 200 | images[pre].style[webkit+'transform']=images[cur].style[webkit+'transform']='translate3d(0,'+p+images[cur].offsetHeight+'px,0)'; 201 | } 202 | setTimeout(function(){ 203 | removeClass(images[cur],keep),removeClass(images[pre],keep); 204 | offset=0,cur_motion='none',orientation='none',_orientation='none',lock=false,hasFinger=false;//重置参数 205 | //隐藏滑过的页面 206 | images[cur].style.display='none'; 207 | if(typeof(o.onchange)=='function')o.onchange(cur,pre);//回调通知 208 | numListController.move(cur,pre);//小icon切换 209 | //页码更改 210 | cur=pre,previous=fix_page(cur-1),next=fix_page(cur+1); 211 | //保持当前页面永远为left/top 0 translate3d(0,0,0) 212 | images[cur].style.cssText='position:absolute; width:100%; height:100%; overflow:hidden; left:0; top:0;'; 213 | },300); 214 | }, 215 | moveto=function(n){ 216 | //js移动时,需要锁定 217 | if(lock||hasFinger)return ; 218 | if(n==cur){ 219 | if(typeof(o.onchange)=='function')o.onchange(cur,n);//回调通知 220 | return ; 221 | } 222 | lock=true;//把touchstart,touchmove,touchend锁定住 223 | pre=n; 224 | move();//开始移动 225 | }, 226 | rebind=function(e){ 227 | //重绑事件 228 | offset=0,cur_motion='none',orientation='none',_orientation='none',lock=false,hasFinger=false;//重置参数 229 | this.removeEventListener('touchend',rebind,false); 230 | this.removeEventListener('touchcancel',rebind,false); 231 | this.addEventListener('touchstart',_touchstart,false); 232 | this.addEventListener('touchmove',_touchmove,false); 233 | this.addEventListener('touchend',_release,false); 234 | this.addEventListener('touchcancel',_release,false); 235 | o.auto&&autoplay();//恢复自动播放 236 | },autoplay=function(){ 237 | autoTimer=setTimeout(function(){ 238 | var n=fix_page(cur+1); 239 | images[n].style.cssText='position:absolute; width:100%; height:100%; overflow:hidden; left:100%; top:0;';//预定位 240 | //alert(n); 241 | setTimeout(function(){ 242 | o.auto&&moveto(n); 243 | },60); 244 | autoplay(); 245 | },o.duration); 246 | },autoTimer, 247 | moveprev=function(){ 248 | var n=fix_page(cur-1); 249 | images[n].style.cssText='position:absolute; width:100%; height:100%; overflow:hidden; left:100%; top:0; '+webkit+'transform:translate3d(0,0,0)';//预定位 250 | autoTimer&&clearTimeout(autoTimer);//阻止自动播放 251 | setTimeout(function(){ 252 | moveto(n); 253 | setTimeout(function(){ 254 | o.auto&&autoplay();//恢复自动播放 255 | },300); 256 | },60); 257 | }, 258 | movenext=function(){ 259 | var n=fix_page(cur+1); 260 | images[n].style.cssText='position:absolute; width:100%; height:100%; overflow:hidden; left:-100%; top:0; '+webkit+'transform:translate3d(0,0,0)';//预定位 261 | autoTimer&&clearTimeout(autoTimer);//阻止自动播放 262 | setTimeout(function(){ 263 | offset=1; 264 | moveto(n); 265 | setTimeout(function(){ 266 | o.auto&&autoplay();//恢复自动播放 267 | },300); 268 | },60); 269 | }; 270 | container.addEventListener('touchstart',_touchstart,false); 271 | container.addEventListener('touchmove',_touchmove,false); 272 | container.addEventListener('touchend',_release,false); 273 | container.addEventListener('touchcancel',_release,false); 274 | var o={move:moveto,prev:moveprev,next:movenext,autoPlay:typeof(args.autoPlay)=="undefined"?1:args.autoPlay,duration:args.duration||4000,totalPage:len};//最终要返回的对象 275 | autoplay();//自动轮播 276 | return o; 277 | } 278 | module.exports=_imgplayer; 279 | window.$&&($.fn.imgPlayer=_imgplayer); 280 | }); -------------------------------------------------------------------------------- /dev/isDom.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 当前对象是否为DOM对象 6 | @ 用法:$.isDom(obj); 7 | */ 8 | 9 | define("isDom",function(require,exports,module){ 10 | 'use zeptojs'; 11 | var chk=(typeof HTMLElement==='object') ? 12 | function(obj){ 13 | return obj instanceof HTMLElement; 14 | } : 15 | function(obj){ 16 | return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string'; 17 | }; 18 | window.$&&($.isDom=chk); 19 | return chk; 20 | }); -------------------------------------------------------------------------------- /dev/jsonp.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 作用: jsonp方法 6 | */ 7 | define("jsonp",function(require,exports,module){ 8 | var _jsonp=function(arg){ 9 | if("[object Object]"!=Object.prototype.toString.call(arg)){ 10 | throw("jsonp: arguments parseerror!"); 11 | return ; 12 | } 13 | var script=document.createElement("script"),hasLoaded=false,typeErr=true,isTimeout=false,charset=arg.charset; 14 | script.type='text/javascript'; 15 | charset&&(script.charset=charset); 16 | script.onload=function(){ 17 | if(isTimeout)return;//表示已经执行过abort操作了 18 | hasLoaded=true; 19 | try{document.head.removeChild(script);}catch(e){} 20 | setTimeout(function(){ 21 | typeErr&&abort('parseerror');//格式不正确 22 | },100); 23 | } 24 | var parameter='_='+new Date().getTime(); 25 | if(typeof(arg.data)=='object'){ 26 | for(var i in arg.data){ 27 | parameter+='&'+i+'='+arg.data[i]; 28 | } 29 | } 30 | arg.jsonp=typeof(arg.jsonp)=='string'?arg.jsonp:'callback'; 31 | arg.jsonpCallback=typeof(arg.jsonpCallback)=='string'?arg.jsonpCallback:'HALO_'+(++jr)+new Date().getTime(); 32 | parameter+='&'+arg.jsonp+'='+arg.jsonpCallback; 33 | typeof(arg.callback)!='function'&&(arg.callback=function(){}); 34 | var callback=function(json){ 35 | if(isTimeout)return;//表示已经执行过abort操作了,不再回调函数了 36 | typeErr=false;//能成功回调,表示jsonp的格式正确 37 | arg.callback(json); 38 | }; 39 | eval(arg.jsonpCallback+'=callback;'); 40 | var url=arg.url; 41 | url+=(url.indexOf('?')<0?'?':'&')+parameter; 42 | script.src=url; 43 | var abort=function(err){ 44 | err=err||'abort'; 45 | eval(arg.jsonpCallback+'("'+err+'");'); 46 | try{document.head.removeChild(script);}catch(e){} 47 | }; 48 | timeout=parseInt(arg.timeout); 49 | isNaN(timeout)||setTimeout(function(){hasLoaded||abort("timeout");isTimeout=true;},timeout); 50 | document.head.appendChild(script); 51 | //document.head.removeChild(script); 52 | var o={}; 53 | o.abort=abort; 54 | return o; 55 | },jr=0; 56 | module.exports=_jsonp; 57 | window.$&&($.jsonp=_jsonp); 58 | }); -------------------------------------------------------------------------------- /dev/klass.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-11-11 5 | @ klass即class,避关键字而取klass。作用是实现三个方法:hasClass,addClass,removeClass -- 兼容旧版模块。 6 | @ 用法如下: 7 | var klass=require("klass"); 8 | klass.hasClass(dom,"klass"); 9 | */ 10 | define( 11 | "klass", 12 | { 13 | addClass : function(elem,_class){ 14 | var className=elem.className,classReg=new RegExp('(^'+_class+'\\s+)|(\\s+'+_class+'\\s+)|(\\s+'+_class+'$)|(^'+_class+'$)','g'); 15 | if(!className)elem.className=_class; 16 | else if(classReg.test(className))return; 17 | else elem.className=className+' '+_class; 18 | }, 19 | removeClass : function(elem,_class){ 20 | var className=elem.className,classReg=new RegExp('(^'+_class+'\\s+)|(\\s+'+_class+'\\s+)|(\\s+'+_class+'$)|(^'+_class+'$)','g'); 21 | className=className.replace(classReg,function(k,$1,$2,$3,$4){if($2)return ' ';else return '';}); 22 | elem.className=className; 23 | }, 24 | hasClass:function(elem,_class){ 25 | var className=elem.className,classReg=new RegExp('(^'+_class+'\\s+)|(\\s+'+_class+'\\s+)|(\\s+'+_class+'$)|(^'+_class+'$)','g'); 26 | if(classReg.test(className))return true; 27 | else return false; 28 | } 29 | } 30 | ); -------------------------------------------------------------------------------- /dev/launchApp.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-11-12 5 | @ 在网页打开APP 6 | @ 用法如下: 7 | $.launcthApp( 8 | { 9 | packageName: "com.jingdong.app.mall", -- android对应的packagename 10 | scheme: "openApp.jdMobile://", -- ios使用的scheme(其实android也会用这个) 11 | downloadUrl:'http://h5.m.jd.com/active/download/download.html?channel=jd-shhd3',//通用下载地址,有时候有些下载需要做统计,会使用这个参数 12 | downloadAndroid:'http://a.app.qq.com/o/simple.jsp?pkgname=com.jingdong.app.mall&g_f=991850',//安卓的下载地址 13 | downloadIOS:'https://itunes.apple.com/cn/app/id414245413'//ios的app_store地址 14 | } 15 | ); 16 | */ 17 | define("launcthApp",function(require,exports,module){ 18 | var _open=function(){ 19 | var isSQ=-1, 20 | isAndroid=navigator.userAgent.indexOf('Android')>-1, 21 | download=function(arg){//下载操作 22 | if(arg.downloadUrl){ 23 | location.href=arg.downloadUrl;//有统一的下载页面,直接跳统一下载页面 24 | return ; 25 | } 26 | location.href=isAndroid?arg.downloadAndroid:arg.downloadIOS; 27 | }, 28 | wxopenapp=function(arg){ 29 | if(!window.WeixinJSBridge){ 30 | webopenapp(arg);//没有WeixinJSBridge当做是普通web页面 31 | return ; 32 | } 33 | WeixinJSBridge.invoke("getInstallState", {//其实不准,只能获用户有没有安装过,如果用户删除了。。。这里会没反应 34 | packageName: arg.packageName, 35 | packageUrl: arg.scheme 36 | }, function(a) { 37 | var c = a.err_msg; 38 | if(c.indexOf("get_install_state:no") > -1){ 39 | //未安装 - 打开下载页面 40 | download(arg); 41 | }else{ 42 | if(isAndroid){ 43 | androidopenapp(arg,1);//安卓的打开方式,微信与网页都一样 44 | return ; 45 | } 46 | //安装过 47 | var ts=new Date().getTime(); 48 | location.href=arg.scheme; 49 | } 50 | }); 51 | }, 52 | sqopenapp=function(arg){ 53 | var value=isAndroid?arg.packageName:arg.scheme.replace('://',''); 54 | mqq.app.isAppInstalled(value, function(result){ 55 | if(result){ 56 | //安装了 57 | if(isAndroid){//安卓只能通过download来实现自动打开 58 | location.href=arg.downloadAndroid; 59 | return ; 60 | } 61 | mqq.app.launchApp({ 62 | name: value//启用程序 63 | }); 64 | }else{ 65 | //未安装 66 | download(arg); 67 | } 68 | }); 69 | }, 70 | webopenapp=function(arg){ 71 | if(isAndroid){ 72 | //安卓 73 | androidopenapp(arg); 74 | }else{ 75 | //ios 76 | iosopenapp(arg); 77 | } 78 | }, 79 | androidopenapp=function(arg,wx){ 80 | //安卓打开app 81 | var ts=new Date().getTime(); 82 | ifr.src=arg.scheme; 83 | wx=!!wx;//xiaomi js-hack 84 | if(wx)return ; 85 | setTimeout(function(){ 86 | if(new Date().getTime()-ts>1000){ 87 | return ; 88 | } 89 | download(arg); 90 | },600); 91 | }, 92 | iosopenapp=function(arg){ 93 | //ios打开app 94 | download(arg);//直接进入app_store或统一的下载地址即可 95 | }, 96 | _openapp=function(arg){ 97 | //未确认状态 98 | if(isSQ==-1){ 99 | setTimeout(function(){ 100 | _openapp(arg); 101 | },500); 102 | }else if(1==isSQ){ 103 | sqopenapp(arg); 104 | }else{ 105 | webopenapp(arg); 106 | } 107 | }, 108 | openapp=function(arg){ 109 | if(navigator.userAgent.indexOf('MicroMessenger')>-1){ 110 | //微信环境下 111 | wxopenapp(arg); 112 | }else if(window.mqq&&mqq.device){ 113 | mqq.device.isMobileQQ(function(res){ 114 | isSQ=res?1:0; 115 | }); 116 | _openapp(arg); 117 | }else{ 118 | //普通的页面 119 | webopenapp(arg); 120 | } 121 | }; 122 | if(isAndroid){ 123 | var ifr=document.createElement("iframe"); 124 | ifr.style.display='none'; 125 | document.body.appendChild(ifr); 126 | }else{ 127 | var ifr={src:''}; 128 | } 129 | return openapp; 130 | }(); 131 | window.$&&($.launchApp=_open); 132 | return _open; 133 | }); -------------------------------------------------------------------------------- /dev/loader.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 图片加载器 -- js/css/audio/view这些资源不支持,原因兼容不好 6 | @ 用法: 7 | $.loader( 8 | { 9 | source:[], 10 | onchange:function(percent){ 11 | console.log(percent); 12 | }, 13 | complete:function(){ 14 | //加载完成 15 | } 16 | } 17 | ); 18 | */ 19 | define("loader",function(require,exports,module){ 20 | var _loader=function(arg){ 21 | if(typeof(arg)=="undefined")return ; 22 | var source=arg.source||[],onchange=arg.onchange||function(){},complete=arg.complete||function(){},total=source.length,loaded=0,percent=0; 23 | for(var i=0;ilen){ 51 | for(var i=0;i_len){//比旧数长 65 | var diff=len-_len; 66 | for(var i=0;i=0&&undregArr.length;--i){ 95 | if(undregArr.pop()=='x'){ 96 | undiffrentiationArr[i]=1; 97 | } 98 | } 99 | }else{ 100 | undreg='';//如果不是匹配前后数字,则认为为错误匹配直接忽略 101 | } 102 | } 103 | var perW=w/len,str='',direction=container.getAttribute("direction")||config.direction; 104 | if(direction!="up"&&direction!="down")direction="alternate"; 105 | var isAlterNate=(direction=="alternate"),needScrollI=(l2r?0:len); 106 | for(var i=0;i'+ni[i]+''; 109 | }else{ 110 | isAlterNate&&(direction=(i%2==0?"up":"down")); 111 | if(l2r){//从左到右滚动 112 | str+=''+createNum(ni[i],_ni[i],Math.ceil((needScrollI++)/groupNum),direction,h)+''; 113 | }else{//从右到左滚动 114 | str+=''+createNum(ni[i],_ni[i],Math.ceil((needScrollI--)/groupNum),direction,h)+''; 115 | } 116 | } 117 | } 118 | hinput.setAttribute("HALO-NUMBERS",num); 119 | _container.innerHTML=str; 120 | var halonumber=document.querySelectorAll("[HALO-NUMBER]"); 121 | setTimeout(function(){ 122 | for(var i=0,len=halonumber.length;i'+i+''; 133 | } 134 | return str; 135 | }, 136 | createScrollNum2=function(h){ 137 | //生成滚动的数字 138 | var str=''; 139 | for(var i=9;i>=0;--i){ 140 | str+='
'+i+'
'; 141 | } 142 | return str; 143 | }, 144 | createNum=function(number,oldNumber,groupIndex,direction){ 145 | var str=''; 146 | if('up'==direction){ 147 | str+='
'; 148 | str+='
'+oldNumber+'
'; 149 | for(var i=0;i'+i+'
'; 154 | } 155 | }else{ 156 | str+='
'; 157 | for(var i=number;i>=0;--i){ 158 | str+='
'+i+'
'; 159 | } 160 | for(var i=0;i'+oldNumber+'
'; 164 | } 165 | str+=''; 166 | return str; 167 | }, 168 | set=function(_config){ 169 | if(!_config)return ; 170 | for(var i in config){ 171 | if(_config.hasOwnProperty(i)){ 172 | config[i]=_config[i]; 173 | } 174 | } 175 | }, 176 | show=function(){ 177 | //不滚动,只是显示数字 178 | var numberContainer=document.querySelectorAll('[halo-number-scroll]'); 179 | for(var i=0,len=numberContainer.length;iarr2.length){ 75 | //需要删除多余的长度 76 | arr1.splice(arr2.length,arr1.length); 77 | } 78 | }; 79 | module.exports=function(arg){ 80 | var argLen=arguments.length; 81 | if(argLen<=0)return ; 82 | argLen>=2&&(arg={obj1:arguments[0],obj2:arguments[1],incremental: typeof(arguments[2])=="undefined"?incremental:arguments[2]}); 83 | arg="[object Object]"!=getType(arg)?{}:arg;//保证为object类型 84 | var type1=getType(arg.obj1),type2=getType(arg.obj2); 85 | if("[object Object]"!=type1&&"[object Array]"!=type1){ 86 | throw("objectUpdate fail! Invalid type!"); 87 | return ; 88 | } 89 | if(type1!=type2){ 90 | throw("objectUpdate fail! Can't update different type"); 91 | return ; 92 | } 93 | "[object Object]"==type1?copyObj(arg.obj1,arg.obj2,arg.incremental):copyArr(arg.obj1,arg.obj2,arg.incremental); 94 | }; 95 | window.$&&($.objectUpdate=module.exports); 96 | }); -------------------------------------------------------------------------------- /dev/parallaxSlider.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ date: 2015-12-07 5 | @ 带视差整页滑动 6 | @ 用法: 7 | $.cardslider( 8 | { 9 | container: "#wrap", 10 | direction:'Y', 11 | cover: 0,//封面索引 12 | offset:50, 13 | duration:300, 14 | infinite:true, 15 | onchange:function(o,i){ 16 | //通过this[0]可以取对应的分页哦 17 | //o滑出页索引,i滑入页索引 18 | console.log(o,i); 19 | } 20 | } 21 | ); 22 | 或是直接: 23 | $("#wrap").cardSlider( 24 | { 25 | direction:'Y', 26 | cover: 0,//封面索引 27 | offset:50, 28 | duration:300, 29 | infinite:true, 30 | onchange:function(o,i){ 31 | //通过this[0]可以取对应的分页哦 32 | //o滑出页索引,i滑入页索引 33 | console.log(o,i); 34 | } 35 | } 36 | ); 37 | */ 38 | 39 | define("parallaxSlider",function(require,exports,module){ 40 | var prefix=require("prefix"),isDom=require("isDom"),stylesheet=require("stylesheet"); 41 | var _parallaxslider=function(arg){ 42 | /* 43 | @参数改成object类型,调用更灵活,也能起到return object;一样的效果 44 | arg={ 45 | dom:string|HTMLDOM, 46 | direction:'X'|'Y' 47 | } 48 | */ 49 | var dom,isY,translateL='',translateR='',originXorY,pageXorY,ch=document.documentElement.clientHeight; 50 | if(typeof(arg.container)=="string"){ 51 | dom=document.querySelector(arg.container); 52 | if(!dom){ 53 | throw('Container unexist!');//分页容器不存在 54 | return ; 55 | } 56 | }else if(!arg.container.nodeType||arg.container.nodeType!=1){ 57 | throw('Container unexist!');//分页容器不存在 58 | return ; 59 | }else{ 60 | dom=arg.container; 61 | } 62 | arg.onchange=typeof(arg.onchange)=="function"?arg.onchange:function(){}; 63 | arg.duration=arg.duration||300; 64 | arg.duration2=arg.duration2||100; 65 | arg.direction=arg.direction||'Y'; 66 | isY=arg.direction=="Y"; 67 | isY?(translateL='translate3d(0,',translateR=',0)'):(translateL='translate3d(',translateR=',0,0)');//默认是垂直方向翻页 68 | pageXorY=isY?'pageY':'pageX'; 69 | ch=isY?document.documentElement.clientHeight:document.documentElement.clientWidth; 70 | var page=function(){ 71 | //改用容器下的子元素为它的分页 72 | var childNodes=dom.childNodes,res=[]; 73 | for(var i=0,len=childNodes.length;i=totalPage)arg.cover=totalPage-1;//超过最后一页,就认为是最后一页 92 | else if(arg.cover<0)arg.cover=0;//小于0,就认为是第一页 93 | var cur=arg.cover,next=cur+1,prev=cur-1; 94 | if(arg.infinite){ 95 | if(prev<0)prev=totalPage-1; 96 | if(next>totalPage-1)next=0; 97 | } 98 | stylesheet.add("[HALOSLIDER] > *{"+prefix+"transform:translateZ(0);}"); 99 | dom.style.cssText+='width:100%; height:100%; overflow:hidden;'; 100 | dom.parentNode.style.overflow="hidden"; 101 | window.addEventListener('resize',function(){//动态获取高度 102 | ch=isY?document.documentElement.clientHeight:document.documentElement.clientWidth; 103 | }); 104 | var timeoutId,timeCb, 105 | _setTimeout=function(cb,time){ 106 | //单线程setTimeout代替函数 107 | timeCb=cb; 108 | timeoutId=setTimeout(function(){ 109 | cb(); 110 | timeCb=cb=null; 111 | },time); 112 | },_finishedTimeout=function(){ 113 | clearTimeout(timeoutId); 114 | typeof(timeCb)=="function"&&timeCb(); 115 | }; 116 | var isTopEdge=false,isBottomEdge=false;//触底触顶 117 | var _touchstart=function(e){ 118 | var touches=e.targetTouches||e.changedTouches,touch=touches[0]; 119 | x=touch.pageX,y=touch.pageY; 120 | originXorY=touch[pageXorY]; 121 | _finishedTimeout(); 122 | }, 123 | _touchmove1=function(e){ 124 | var touches=e.targetTouches||e.changedTouches,touch=touches[0],curXorY=touch[pageXorY]; 125 | var offset=curXorY-originXorY; 126 | page[prev].style[prefix+"transform"]=translateL+(offset-ch)+'px'+translateR; 127 | page[cur].style[prefix+"transform"]=translateL+offset+'px'+translateR; 128 | page[next].style[prefix+"transform"]=translateL+(offset+ch)+'px'+translateR; 129 | parallax(cur,offset); 130 | }, 131 | _touchmove2=function(e){ 132 | var touches=e.targetTouches||e.changedTouches,touch=touches[0],curXorY=touch[pageXorY]; 133 | var offset=curXorY-originXorY; 134 | if(cur0){ 135 | page[prev].style[prefix+"transform"]=translateL+(offset-ch)+'px'+translateR; 136 | page[cur].style[prefix+"transform"]=translateL+offset+'px'+translateR; 137 | page[next].style[prefix+"transform"]=translateL+(offset+ch)+'px'+translateR; 138 | parallax(cur,offset); 139 | isTopEdge=isBottomEdge=false; 140 | }else{ 141 | if(offset>0){ 142 | if(cur==0){ 143 | //触顶 144 | page[cur].style[prefix+"transform"]=translateL+offset/3+'px'+translateR; 145 | page[next].style[prefix+"transform"]=translateL+ch+'px'+translateR; 146 | parallax(cur,offset); 147 | isTopEdge=true; 148 | }else{ 149 | //向下 150 | page[prev].style[prefix+"transform"]=translateL+(offset-ch)+'px'+translateR; 151 | page[cur].style[prefix+"transform"]=translateL+offset+'px'+translateR; 152 | isBottomEdge=false; 153 | } 154 | }else if(offset<0){ 155 | if(cur==totalPage-1){ 156 | //触底 157 | page[cur].style[prefix+"transform"]=translateL+offset/3+'px'+translateR; 158 | page[prev].style[prefix+"transform"]=translateL+(-1*ch)+'px'+translateR; 159 | parallax(cur,offset/3); 160 | isBottomEdge=true; 161 | }else{ 162 | //向上 163 | page[cur].style[prefix+"transform"]=translateL+offset+'px'+translateR; 164 | page[next].style[prefix+"transform"]=translateL+(offset+ch)+'px'+translateR; 165 | parallax(cur,offset); 166 | isTopEdge=false; 167 | } 168 | } 169 | } 170 | }, 171 | parallax=function(n,offset){ 172 | if(!subpage[n]||!offset)return ; 173 | var _subpage=subpage[n][0],speed=subpage[n][1]; 174 | if(offset>=0){ 175 | //方向向上 176 | _subpage.style[prefix+"transform"]="translate3d(0,0,0)"; 177 | }else{ 178 | _subpage.style[prefix+"transform"]="translate3d(0,"+offset*(speed-1)+"px,0)"; 179 | } 180 | }, 181 | _touchend1=function(e){ 182 | var touches=e.changedTouches||e.targetTouches,touch=touches[0],curXorY=touch[pageXorY]; 183 | var offset=curXorY-originXorY; 184 | if(offset>0&&offset>=arg.offset){ 185 | //往下 186 | var transition=prefix+'transform '+arg.duration/1000+'s linear'; 187 | page[cur].style[prefix+'transition']=transition; 188 | page[prev].style[prefix+'transition']=transition,page[prev].style[prefix+"transform"]=translateL+0+'px'+translateR; 189 | page[cur].style[prefix+"transform"]=translateL+ch+'px'+translateR; 190 | if(next<=totalPage-1)page[next].style[prefix+"transform"]=translateL+ch+'px'+translateR; 191 | var _cur=cur,_prev=prev,_next=next; 192 | _setTimeout(function(){ 193 | page[_cur].style[prefix+'transition']=page[_prev].style[prefix+'transition']=''; 194 | arg.onchange.call(page,_cur,_prev); 195 | },arg.duration); 196 | fixed(-1); 197 | }else if(offset<0&&-1*offset>=arg.offset){ 198 | //往上 199 | var transition=prefix+'transform '+arg.duration/1000+'s linear'; 200 | page[cur].style[prefix+'transition']=transition,page[cur].style[prefix+"transform"]=translateL+(-1*ch)+'px'+translateR; 201 | page[next].style[prefix+'transition']=transition,page[next].style[prefix+"transform"]=translateL+0+'px'+translateR; 202 | if(prev>=0)page[prev].style[prefix+"transform"]=translateL+(-1*ch)+'px'+translateR; 203 | var _cur=cur,_prev=prev,_next=next; 204 | _setTimeout(function(){ 205 | page[_cur].style[prefix+'transition']=page[_next].style[prefix+'transition']=''; 206 | if(subpage[_cur])subpage[_cur][0].style[prefix+"transform"]=translateL+'0px'+translateR; 207 | arg.onchange.call(page,_cur,_next); 208 | },arg.duration); 209 | fixed(1); 210 | }else if(offset!=0){ 211 | //回弹 212 | var transition=prefix+'transform '+arg.duration2/1000+'s linear'; 213 | if(prev>=0)page[prev].style[prefix+'transition']=transition,page[prev].style[prefix+"transform"]=translateL+(-1*ch)+'px'+translateR; 214 | page[cur].style[prefix+'transition']=transition,page[cur].style[prefix+"transform"]=translateL+0+'px'+translateR; 215 | if(next<=totalPage-1)page[next].style[prefix+'transition']=transition,page[next].style[prefix+"transform"]=translateL+ch+'px'+translateR; 216 | if(subpage[cur])subpage[cur][0].style[prefix+'transition']=transition,subpage[cur][0].style[prefix+"transform"]=translateL+'0px'+translateR; 217 | var _cur=cur,_prev=prev,_next=next; 218 | _setTimeout(function(){ 219 | if(!isMoving){ 220 | page[_cur].style[prefix+'transition']=''; 221 | } 222 | if(prev>=0)page[_prev].style[prefix+'transition']=''; 223 | if(next<=totalPage-1)page[_next].style[prefix+'transition']=''; 224 | if(subpage[cur])subpage[cur][0].style[prefix+'transition']=''; 225 | },arg.duration2); 226 | } 227 | }, 228 | isMoving=false, 229 | _touchend2=function(e){ 230 | if(isTopEdge||isBottomEdge){ 231 | //如触底或触顶了,回弹 232 | var transition=prefix+'transform '+arg.duration2/1000+'s linear'; 233 | page[cur].style[prefix+'transition']=transition; 234 | page[cur].style[prefix+"transform"]=translateL+0+'px'+translateR; 235 | if(subpage[cur])subpage[cur][0].style[prefix+'transition']=transition,subpage[cur][0].style[prefix+"transform"]=translateL+'0px'+translateR; 236 | _setTimeout(function(){ 237 | isTopEdge=isBottomEdge=false; 238 | page[cur].style[prefix+'transition']=''; 239 | if(subpage[cur])subpage[cur][0].style[prefix+'transition']=''; 240 | },arg.duration2); 241 | }else{ 242 | _touchend1(e); 243 | } 244 | }, 245 | fixed=function(n){ 246 | //确定cur,next,prev的数值 247 | cur=cur+n,prev=cur-1,next=cur+1; 248 | if(!arg.infinite)return; 249 | if(cur>=totalPage){ 250 | cur=0; 251 | prev=totalPage-1; 252 | next=1; 253 | }else if(cur==totalPage-1){ 254 | next=0; 255 | }else if(cur<0){ 256 | cur=totalPage-1; 257 | prev=cur-1; 258 | next=0; 259 | }else if(cur==0){ 260 | prev=totalPage-1; 261 | } 262 | }, 263 | bindEvent=function(){ 264 | for(var i=0,len=page.length;i=0||index<=totalPage-1){ 311 | //合法页码 312 | var transition=prefix+'transform '+arg.duration/1000+'s linear',flag=index>cur?-1:1; 313 | if(arg.infinite){ 314 | flag=page[index].style[prefix+'transform'].indexOf('-')>=0?1:-1; 315 | } 316 | page[cur].style[prefix+'transition']=transition,page[cur].style[prefix+"transform"]=translateL+(flag*ch)+'px'+translateR; 317 | page[index].style[prefix+'transition']=transition,page[index].style[prefix+"transform"]=translateL+0+'px'+translateR; 318 | isMoving=true; 319 | var _cur=cur,_next=index; 320 | _setTimeout(function(){ 321 | isMoving=false; 322 | page[_cur].style[prefix+'transition']=page[_next].style[prefix+'transition']=''; 323 | arg.onchange.call(page,_cur,_next); 324 | },arg.duration); 325 | if(arg.infinite){ 326 | cur=index,prev=cur-1,next=cur+1; 327 | if(prev<0)prev=totalPage-1; 328 | if(next>totalPage-1)next=0; 329 | } 330 | else{ 331 | cur=index,prev=cur-1,next=cur+1; 332 | } 333 | } 334 | }; 335 | return o; 336 | }; 337 | module.exports=function(arg){ 338 | if(isDom(this)){ 339 | //是fn扩展过来的 340 | arg.container=this; 341 | _parallaxslider(arg); 342 | }else if(Object.prototype.toString.call(this)=="[object Array]"){ 343 | for(var i=0,len=this.length;i0&&arrLen){ 21 | var _rnd=parseInt(Math.random()*index_arr_len); 22 | new_arr[len-index_arr_len]=arr[index_arr.splice(_rnd,1)]; 23 | --index_arr_len; 24 | --arrLen; 25 | } 26 | return new_arr;//生成新数组 27 | } 28 | window.$&&($.randomSort=_randomSort); 29 | return _randomSort; 30 | }); -------------------------------------------------------------------------------- /dev/remember.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 记住页面上次浏览的位置 6 | @ 用法:$.remember(); 7 | */ 8 | define("remember",function(require,exports,module){ 9 | if(!window.localStorage){ 10 | return ;//不支持localStorage 11 | } 12 | var url=location.protocol+"//"+location.host+location.pathname+location.search;//当前的url,不包括hash值 13 | window.onunload=function(){ 14 | //刷新页面前记住位置 15 | var _st=document.body.scrollTop; 16 | localStorage[url]=_st; 17 | }; 18 | var st=parseInt(localStorage[url])||0; 19 | if(st){ 20 | var tmp=document.createElement('div');//定位元素,防止加载未完成而无法正确定位 21 | var ch=document.documentElement.clientHeight||document.body.clientHeight; 22 | tmp.style.cssText='position:absolute; width:1px; height:1px; left:1px; top:'+(st+ch-1)+'px;'; 23 | document.body.appendChild(tmp); 24 | } 25 | //window.scroll(0,st); 26 | document.body.scrollTop=st; 27 | delete localStorage[url]; 28 | }); -------------------------------------------------------------------------------- /dev/request.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 获得当前url的参数 6 | @ 使用方法: 7 | var request=require("request"); 8 | request();//以key-value的形式返回所有的参数 9 | request("key");//返回指定key值的value 10 | */ 11 | define("request",function(require,exports,module){ 12 | 'use zeptojs'; 13 | var _request=function(){ 14 | //var lhref=window.location.href,startindex=lhref.indexOf("?")+1,endindex=lhref.indexOf('#')>-1?lhref.indexOf('#'):lhref.length,parameters=lhref.substring(startindex,endindex),keyvalue=parameters.split("&"),requestPara={}; 15 | var _search=location.search,requestPara={}; 16 | if(_search){ 17 | var parameters=_search.replace(/^\?/,''),keyvalue=parameters.split("&"); 18 | for(i in keyvalue) 19 | { 20 | var key=keyvalue[i].split("="); 21 | requestPara[key[0]]=key[1]||''; 22 | } 23 | } 24 | return function(name){ 25 | if(typeof(name)=='string') 26 | return requestPara[name]; 27 | else 28 | return requestPara; 29 | }; 30 | }(); 31 | module.exports=_request; 32 | window.$&&($.request=_request); 33 | }); -------------------------------------------------------------------------------- /dev/shareTips.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-11-12 5 | @ 通用分享蒙层 6 | @ 用法如下: 7 | $.shareTips({text:"..."}); 8 | */ 9 | define("shareTips",function(require,exports,module){ 10 | var _shareTips=function(){ 11 | var mask=document.createElement('div'),icon=document.createElement('div'),h3=document.createElement('h3'),webkit=require("prefix"); 12 | var icons_src='data:image/png;base64,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'; 13 | mask.style.cssText='position:fixed; width:100%; height:100%; background-color:rgba(0,0,0,.5); left:0; top:0; '+webkit+'transition:opacity .3s linear; opacity:0; z-index:999;'; 14 | icon.style.cssText='display:block; width:74px; height:102px; overflow:hidden; position: absolute; background:url('+icons_src+') 0 0 no-repeat; background-size:100% 100%; right:10px; top:10px;'; 15 | h3.style.cssText='padding:0 0 0 0; position: absolute; width:100%; height:auto; text-align:center; top:132px; font-size:20px; line-height:28px; color:#fff;'; 16 | mask.appendChild(icon),mask.appendChild(h3); 17 | mask.addEventListener(('ontouchstart' in window)?'touchstart':'mouseup',function(e){ 18 | hide(); 19 | },false); 20 | var show=function(text){ 21 | text=typeof(text)=="object"?text.text:text; 22 | h3.innerHTML=text||decodeURIComponent('%E8%AF%B7%E7%82%B9%E5%87%BB%E5%8F%B3%E4%B8%8A%E8%A7%92')+'
'+decodeURIComponent('%E9%80%9A%E8%BF%87%20%E3%80%90%E5%8F%91%E9%80%81%E7%BB%99%E6%9C%8B%E5%8F%8B%E3%80%91%E5%8A%9F%E8%83%BD')+'
'+decodeURIComponent('%E6%8A%8A%E5%A5%BD%E6%B6%88%E6%81%AF%E5%91%8A%E8%AF%89%E5%B0%8F%E4%BC%99%E4%BC%B4%E5%93%9F~'); 23 | document.body.appendChild(mask); 24 | setTimeout(function(){mask.style.opacity=1;},60); 25 | },hide=function(){ 26 | mask.style.opacity=0; 27 | setTimeout(function(){ 28 | try{document.body.removeChild(mask);}catch(e){}; 29 | },400) 30 | }; 31 | show.hide=hide; 32 | return show; 33 | }(); 34 | window.$&&($.shareTips=_shareTips); 35 | return _shareTips; 36 | }); 37 | 38 | -------------------------------------------------------------------------------- /dev/stylesheet.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ create: 2015-11-11 5 | @ modify: 2015-12-05 6 | @ 动态创建css样式 7 | @ modify: 全面弃用inserRule方法(因为inserRule方法将会产生夸域的问题)。 8 | @ 用法如下: 9 | var stylesheet=require("stylesheet"); 10 | var styleid=stylesheet.add('.PAGE_DRAG_KEEP{ransition:transform .2s linear;}'); 11 | stylesheet.remove(styleid);//删除样式 12 | */ 13 | define("stylesheet",function(require,exports,module){ 14 | var style=document.createElement("style"),head=document.getElementsByTagName("head")[0],records=[],total=0; 15 | head.appendChild(style); 16 | var add=function(cssText){ 17 | records.push(cssText); 18 | style.innerHTML=records.join("\r\n");//插入记录 19 | total=records.length; 20 | return total-1; 21 | }, 22 | remove=function(n){ 23 | if(typeof(n)=="number"){ 24 | total>=n&&(records[n]='');//超过记录数不做记录 25 | }else if(typeof(n)=="string"){ 26 | //可能是直接传样式字符串 27 | for(var i=0;i0){ 41 | for(var i=0,len=this.length;i'; 74 | marquee.innerHTML=marquee.innerHTML+space; 75 | marquee.className=make_marquee_class(duration); 76 | }; 77 | window.$&&($.textMarquee=make_marquee); 78 | return make_marquee; 79 | }); 80 | 81 | -------------------------------------------------------------------------------- /dev/urlAppend.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-12-07 5 | @ 向url插入新的参数 6 | @ 用法: $.urlAppend({k:"key",v:"value"}); 7 | @ 可以同时插入多个参数 $.urlAppend([{k:"key",v:"value"},...]); 8 | */ 9 | 10 | define("urlAppend",function(require,exports,module){ 11 | var _urlAppend=function(arg,hasPara){//添加单个参数 12 | var k=arg.k,v=arg.v,reg=/^[a-z0-9\_\-\%\.\!\|]+$/i; 13 | if(!k||!v||!reg.test(k)||!reg.test(v))return '';//没有键名和键值 14 | return hasPara?"&"+k+"="+v:"?"+k+"="+v; 15 | }; 16 | module.exports=function(arg){ 17 | //支持多个参数 18 | var url=arg.url||'',hash='',hashIndex=url.indexOf("#"),kvs=arg.kvs||[],type=Object.prototype.toString.call(arg.kvs),res=''; 19 | if(type === '[object Array]'){ 20 | //array 21 | for(var i=0,len=kvs.length;i-1:1); 23 | } 24 | }else if(type === '[object Object]'){ 25 | //直接就是object 26 | res+=_urlAppend(kvs,url.indexOf("?")>-1); 27 | } 28 | if(hashIndex>-1){ 29 | //有hash值 30 | hash=url.substring(hashIndex,url.length); 31 | url=url.substring(0,hashIndex); 32 | } 33 | res=url+res+hash; 34 | return res; 35 | }; 36 | window.$&&($.urlAppend=_urlAppend); 37 | }); -------------------------------------------------------------------------------- /dev/warn.js: -------------------------------------------------------------------------------- 1 | /* 2 | @ author leeenx 3 | @ version 1.0.0 4 | @ data: 2015-11-12 5 | @ 横屏引导层 6 | @ 用法如下: 7 | $.warn( 8 | { 9 | bg: "#f00",//背景,可以使用背景图片,只要按照background: ... 的标准写法即可 -- option 10 | icon: "image_url",//引导层图标的url地址(一般使用缺省图片即可) -- option 11 | text: "..."//引导文案,有缺省值 -- option 12 | } 13 | ); 14 | */ 15 | define("warn",function(require,exports,module){ 16 | var webkit=require("prefix"),styleSheet=require("stylesheet"); 17 | var warn=function(args){ 18 | var _warn=document.createElement("div"),_warn_icon=document.createElement('i'),_warn_wrp=document.createElement('div'); 19 | var iphone='data:image/png;base64,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'; 20 | _warn_wrp.style.cssText='position:absolute; width:100%; height:100%; overflow:hidden; left:0; top:0; font-size:14px; z-index:9999; background-color:#bd1f26; display:none;',_warn.style.cssText='position:absolute; left:50%; top:50%; width:250px; height:150px; margin:-75px 0 0 -125px; text-align:center; color:#ffffff;',_warn_icon.style.cssText='position:relative; display:block; width:74px; height:110px; background:url('+iphone+') 0 0 no-repeat; background-size:100%; margin:0 auto; '+webkit+'transform:rotate(-90deg); '+webkit+'animation:TOUCH_DRAG_IPHONE 1.6s ease-in infinite;'; 21 | styleSheet.add('@'+webkit+'keyframes TOUCH_DRAG_IPHONE{0%{'+webkit+'transform:rotate(-90deg);}25%{'+webkit+'transform:rotate(0deg);}50%{'+webkit+'transform:rotate(0deg);}75%{'+webkit+'transform:rotate(-90deg);}100%{'+webkit+'transform:rotate(-90deg);}}');// 22 | document.body.appendChild(_warn_wrp),_warn_wrp.appendChild(_warn),_warn.appendChild(_warn_icon); 23 | var _warn_text=document.createTextNode(decodeURIComponent('%E4%B8%BA%E4%BA%86%E6%9B%B4%E5%A5%BD%E7%9A%84%E4%BD%93%E9%AA%8C%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E7%AB%96%E5%B1%8F%E6%B5%8F%E8%A7%88')); 24 | _warn.appendChild(document.createElement('br')),_warn.appendChild(_warn_text); 25 | var set=function(args){ 26 | //设置warn的样式 27 | var bg=args.bg,icon=args.icon,text=args.text; 28 | if(typeof(bg)=='string')_warn_wrp.style.background=bg; 29 | if(typeof(icon)=='string')_warn_icon.style.backgroundImage=icon; 30 | if(typeof(text)=='string')_warn_text.nodeValue=text; 31 | }, 32 | show=function(){ 33 | _warn_wrp.style.display='block'; 34 | o.onshow&&o.onshow(); 35 | }, 36 | hide=function(){ 37 | o.onhide&&o.onhide(); 38 | _warn_wrp.style.display='none'; 39 | }; 40 | var o={show:show,hide:hide,set:set}; 41 | return o; 42 | }(); 43 | var need_watch='onorientationchange' in window; 44 | var clientHeight=document.documentElement.clientHeight,clientWidth=document.documentElement.clientWidth; 45 | if(need_watch){ 46 | if(window.orientation!='0')warn.show(); 47 | window.addEventListener('orientationchange',function(){ 48 | if(window.orientation!='0'){ 49 | warn.show(); 50 | }else{ 51 | warn.hide(); 52 | } 53 | },false); 54 | }else{ 55 | if(clientHeight'+a.title+'
'+a.hint+'
'+a.description+"
",c.className="halo-pcprompt-mask",c.innerHTML=f,a.minWidth>0?(g=document.documentElement.clientWidth||document.body.clientWidth,a.minWidthd;++d)1==b.childNodes[d].nodeType&&c.push(b.childNodes[d]);return c}(),m.length){for(n=m.length,a.cover=a.cover||0,a.cover>=n?a.cover=n-1:a.cover<0&&(a.cover=0),o=a.cover,p=o+1,q=o-1,a.infinite&&(0>q&&(q=n-1),p>n-1&&(p=0)),b.parentNode.style.overflow="hidden",window.addEventListener("resize",function(){i=c?document.documentElement.clientHeight:document.documentElement.clientWidth}),t=function(a,b){s=a,r=setTimeout(function(){a(),s=a=null},b)},u=function(){clearTimeout(r),"function"==typeof s&&s()},v=!1,w=!1,x=function(a){var b=a.targetTouches||a.changedTouches,c=b[0];J=c.pageX,K=c.pageY,g=c[h],u()},y=function(a){var b=a.targetTouches||a.changedTouches,c=b[0],j=c[h],k=j-g;m[q].style[d+"transform"]=e+(k-i)+"px"+f,m[p].style[d+"transform"]=e+(k+i)+"px"+f,A(k)},z=function(a){var b=a.targetTouches||a.changedTouches,c=b[0],j=c[h],k=j-g;n-1>o&&o>0?(m[q].style[d+"transform"]=e+(k-i)+"px"+f,m[p].style[d+"transform"]=e+(k+i)+"px"+f,A(k),v=w=!1):k>0?0==o?(m[o].style[d+"transform"]=e+k/3+"px"+f,m[p].style[d+"transform"]=e+i+"px"+f,v=!0):(m[q].style[d+"transform"]=e+(k-i)+"px"+f,A(k),w=!1):0>k&&(o==n-1?(m[o].style[d+"transform"]=e+k/3+"px"+f,m[q].style[d+"transform"]=e+-1*i+"px"+f,w=!0):(m[p].style[d+"transform"]=e+(k+i)+"px"+f,A(k),v=!1))},A=function(a){j&&(a>0?(m[o].style[d+"transform-origin"]=l,m[o].style[d+"transform"]="scale("+(1-.2*Math.abs(a/i))+") translateZ(0)"):0>a?(m[o].style[d+"transform-origin"]=k,m[o].style[d+"transform"]="scale("+(1-.2*Math.abs(a/i))+") translateZ(0)"):(m[o].style[d+"transform-origin"]="",m[o].style[d+"transform"]=""))},B=function(b){var s,u,v,w,c=b.changedTouches||b.targetTouches,k=c[0],l=k[h],r=l-g;r>0&&r>=a.offset?(s=d+"transform "+a.duration/1e3+"s linear",m[q].style[d+"transition"]=s,m[q].style[d+"transform"]=e+0+"px"+f,j&&(m[o].style[d+"transition"]=s,m[o].style[d+"transform"]="scale(.8,.8) translateZ(0)"),n-1>=p&&(m[p].style[d+"transform"]=e+i+"px"+f),u=o,v=q,w=p,t(function(){m[u].style[d+"transition"]="",m[u].style[d+"transform"]=e+i+"px"+f,m[u].style.zIndex="1",m[v].style[d+"transition"]="",m[v].style.zIndex="0",a.onchange.call(m,u,v)},a.duration),E(-1)):0>r&&-1*r>=a.offset?(s=d+"transform "+a.duration/1e3+"s linear",j&&(m[o].style[d+"transition"]=s,m[o].style[d+"transform"]="scale(.8,.8) translateZ(0)"),m[p].style[d+"transition"]=s,m[p].style[d+"transform"]=e+0+"px"+f,q>=0&&(m[q].style[d+"transform"]=e+-1*i+"px"+f),u=o,v=q,w=p,t(function(){m[u].style[d+"transition"]="",m[u].style[d+"transform"]=e+-1*i+"px"+f,m[u].style.zIndex="1",m[w].style[d+"transition"]="",m[w].style.zIndex="0",a.onchange.call(m,u,w)},a.duration),E(1)):0!=r&&(s=d+"transform "+a.duration2/1e3+"s linear",q>=0&&(m[q].style[d+"transition"]=s,m[q].style[d+"transform"]=e+-1*i+"px"+f),j&&(m[o].style[d+"transition"]=s,m[o].style[d+"transform"]="scale(1,1) translateZ(0)"),n-1>=p&&(m[p].style[d+"transition"]=s,m[p].style[d+"transform"]=e+i+"px"+f),u=o,v=q,w=p,t(function(){C||(m[u].style[d+"transition"]=""),q>=0&&(m[v].style[d+"transition"]=""),n-1>=p&&(m[w].style[d+"transition"]="")},a.duration2))},C=!1,D=function(b){v||w?(m[o].style[d+"transition"]=d+"transform "+a.duration2/1e3+"s linear",m[o].style[d+"transform"]=e+0+"px"+f,t(function(){v=w=!1,m[o].style[d+"transition"]=""},a.duration2)):B(b)},E=function(b){o+=b,q=o-1,p=o+1,a.infinite&&(o>=n?(o=0,q=n-1,p=1):o==n-1?p=0:0>o?(o=n-1,q=o-1,p=0):0==o&&(q=n-1))},F=function(){for(var b=0,c=m.length;c>b;++b)m[b].addEventListener("touchstart",x),a.infinite?(m[b].addEventListener("touchmove",y),m[b].addEventListener("touchend",B),m[b].addEventListener("touchcancel",B)):(m[b].addEventListener("touchmove",z),m[b].addEventListener("touchend",D),m[b].addEventListener("touchcancel",D))},G=function(){for(var b=0,c=m.length;c>b;++b)m[b].removeEventListener("touchstart",x),a.infinite?(m[b].removeEventListener("touchmove",y),m[b].removeEventListener("touchend",B),m[b].removeEventListener("touchcancel",B)):(m[b].removeEventListener("touchmove",z),m[b].removeEventListener("touchend",D),m[b].removeEventListener("touchcancel",D))},H=0,I=m.length;I>H;++H)m[H].style.cssText="position:absolute; left:0; top:0; width:100%; height:100%; "+(a.cover==H?" z-index:0;":d+"transform:"+e+i+"px"+f+"; z-index:1;");return F(),J=0,K=0,L={},L.lock=function(){G()},L.unlock=function(){F()},L.move=function(b){var c,g,h,r;b=parseInt(b)||0,b!=o&&(b>=0||n-1>=b)&&(c=d+"transform "+a.duration/1e3+"s linear",g=b>o?-1:1,a.infinite&&(g=m[b].style[d+"transform"].indexOf("-")>=0?1:-1),console.log(g),j&&(m[o].style[d+"transform-origin"]=-1==g?k:l,m[o].style[d+"transition"]=c,m[o].style[d+"transform"]="scale(.8,.8) translateZ(0)"),m[b].style[d+"transition"]=c,m[b].style[d+"transform"]=e+0+"px"+f,C=!0,h=o,r=b,t(function(){C=!1,m[h].style[d+"transition"]="",m[h].style[d+"transform-origin"]="",m[h].style[d+"transform"]="",m[h].style.zIndex=1,m[h].style[d+"transform"]=e+g*i+"px"+f,m[r].style[d+"transition"]="",m[r].style.zIndex=0,a.onchange.call(m,h,r)},a.duration),a.infinite?(o=b,q=o-1,p=o+1,0>q&&(q=n-1),p>n-1&&(p=0)):(o=b,q=o-1,p=o+1))},L}};c.exports=function(a){if(e(this))a.container=this,f(a);else if("[object Array]"==Object.prototype.toString.call(this))for(var b=0,c=this.length;c>b;++c)a.container=this[b],e(this[b])&&f(a);else f(a)},window.$&&($.cardSlider=$.fn.cardSlider=c.exports)}); -------------------------------------------------------------------------------- /min/compare.js: -------------------------------------------------------------------------------- 1 | define("compare",function(require,b,c){var d=function(a,b){var c=e(a),d=e(b);return c!=d?0:"[object Array]"==c?f(a,b):"[object Object]"==c?g(a,b):a===b},e=function(a){return Object.prototype.toString.call(a)},f=function(a,b){var f,g,h,c=a.length,e=b.length;if(c!=e)return 0;for(f=0;c>f;++f)if(g=a[f],h=b[f],!d(g,h))return 0;return 1},g=function(a,b){var c,e,f;for(c in a)if(e=a[c],f=b[c],!d(e,f))return 0;return 1},h=function(a){var c,f,g,h,b=e(a);if("[object Object]"!=b)throw"compare: parse error!";if(c=a.obj1,f=a.obj2,g=e(c),h=e(f),g==h&&"[object Object]"==g||"[object Array]"==g)d(c,f);else{if(!(2<=arguments.length))throw"compare: parse error!";c=arguments[0],f=arguments[1],g=e(c),h=e(f),(g==h&&"[object Object]"==g||"[object Array]"==g)&&d(c,f)}};c.exports=h,window.$&&($.compare=h)}); -------------------------------------------------------------------------------- /min/cookie.js: -------------------------------------------------------------------------------- 1 | define("cookie",function(){var d=function(a,b,c,d,f,g){if(a){var h="",i=";path=/",j="",k=function(){var a=1e3;switch(g){case"second":a=1e3;break;case"minute":a=6e4;break;case"hour":a=36e5;break;case"day":a=864e5;break;case"week":a=6048e5;break;case"year":a=31536e6;break;default:a=864e5}return a}();"number"==typeof c&&(h=";expires="+new Date(parseInt(c)*k+(new Date).getTime()).toGMTString()),"string"==typeof f&&(i=";path="+f),"string"==typeof d&&(j=";domain="+d),"[object Null]"==Object.prototype.toString.call(b)?e(a,d,f):document.cookie=a+"="+escape(b)+h+i+j}},e=function(a,b,c){if(a){var d=";path=/",e="";"string"==typeof c&&(d=";path="+c),e="string"==typeof b?";domain="+b:"",document.cookie=a+"=;expires="+(new Date).toGMTString()+e+d}},f=function(a,b){var c,d,e,f;if(!a||!document.cookie)return null;if(c=document.cookie.match(new RegExp("(^| )"+a+"=([^;]*)(;|$)","g")),"undefined"==typeof b&&c){for(e=0;e=0&&g.remove(j),j=g.add('.halo-dialog-mask{position: fixed; width: 100%; height: 100%; left: 0; top: 0; text-align: center;}.halo-dialog-mask::before{content: ""; display: inline-block; width: 0; height: 100%; overflow: hidden; vertical-align: middle;}.halo-dialog-box{position: relative; display:inline-block; width: 240px; height: auto; padding: 15px; background-color: rgba(0,0,0,.9); vertical-align: middle; border-radius: 3px; color: #fff; zoom: '+e.zoom+";}.halo-dialog-alert,.halo-dialog-error,.halo-dialog-success{display: block; position: relative; width: 50px; height: 50px; border-radius: 25px; box-sizing: border-box; border: "+e.stroke.width+"px solid "+e.stroke.color+'; margin: 0 auto 20px;}.halo-dialog-alert::before{content: ""; display: block; width: '+e.stroke.width+"px; height: 20px; background-color: "+e.stroke.color+'; margin: 10px auto 2px;}.halo-dialog-alert::after{content: ""; display: block; width: 10px; height: 10px; margin: 0 auto; border: 1px solid '+e.stroke.color+"; border-radius: 6px; "+i+"transform-origin: center top; "+i+'transform: scale(.3) translate3d(2px,0,0);}.halo-dialog-error::before{content: ""; display: block; position: absolute; width: '+e.stroke.width+"px; height: 24px; background-color: "+e.stroke.color+"; left: 50%; top: 50%; margin: -12px 0 0 0; "+i+'transform: rotate(45deg);}.halo-dialog-error::after{content: ""; display: block; position: absolute; width: '+e.stroke.width+"px; height: 24px; background-color: "+e.stroke.color+"; left: 50%; top: 50%; margin: -12px 0 0 0; "+i+'transform: rotate(-45deg);}.halo-dialog-success::before{content: ""; display: block; position: absolute; width: 24px; height: 12px; border-left: '+e.stroke.width+"px solid "+e.stroke.color+"; border-bottom:"+e.stroke.width+"px solid "+e.stroke.color+"; top: 22px; left: 20px; "+i+"transform-origin: left bottom; "+i+'transform: rotate(-45deg);}.halo-dialog-text{margin: 20px; overflow: hidden;}.halo-dialog-one-btn,.halo-dialog-one-btn:active,.halo-dialog-one-btn:visited{display: block; position: relative; width: 210px; height: 30px; line-height: 30px; text-align: center; text-decoration: none; border-radius: 3px; color: #fff; background-color: #3985ff; margin: 10px auto 0;}.halo-dialog-two-btn,.halo-dialog-two-btn:active,.halo-dialog-two-btn:visited{display: block; position: relative; width: 100px; height: 30px; line-height: 30px; text-align: center; text-decoration: none; border-radius: 3px; color: #fff; background-color: #3985ff; left: -55px; margin: 10px auto 0;}.halo-dialog-two-btn:nth-child(even),.halo-dialog-two-btn:active:nth-child(even),.halo-dialog-two-btn:visited:nth-child(even){margin-top: -30px; left: 55px; background-color: #f3f3f3; color: #333;}.halo-dialog-close{position: absolute; width: 20px; height: 20px; border: 10px solid transparent; top: 0; right: 0; display: block;}.halo-dialog-close::before,.halo-dialog-close::after{content: ""; position: absolute; display: block; width: '+e.stroke.width+"px; height: 20px; left: 50%; top: 0; background-color: "+e.stroke.color+"; "+i+'transform: rotate(45deg) translate3d(-50%,0,0);}.halo-dialog-close::after{content: ""; '+i+"transform: rotate(-45deg) translate3d(-50%,0,0);}.halo-dialog-loading-box{position: relative; display: inline-block; width: 100px; height: 100px; background-color: rgba(0,0,0,.5); padding: 10px; border-radius: 3px; zoom: "+e.zoom+";}.halo-dialog-loading{background:url(data:image/png;base64,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) 0 0 no-repeat; background-size:100%; width:50px; height:50px; margin: 16px auto 0; "+i+"animation: halo-dialog-loading-round 1.6s linear infinite;}.halo-dialog-loading-box .halo-dialog-text{margin: 10px; color: #fff; white-space: nowrap; overflow: hidden;}@"+i+"keyframes halo-dialog-loading-round{0%{"+i+"transform: rotate(0deg);}100%{"+i+"transform: rotate(360deg);}}")},l=function(a){var d,e,f,g,h,i,j,b=Object.prototype.toString.call(a),c=this;if("[object Object]"==b)a=[a];else{if("[object Undefined]"==b)return;if("[object Array]"!=b)return console.log("wrong type for makeAttr"),void 0}for(d=0,e=a.length;e>d;++d){f=a[d].dom,g=a[d].arg,g["className"]&&(f.className=g["className"],delete g["className"]),g["css"]&&(f.style.cssText=g["css"],delete g["css"]),h=g["attr"]||{},i=g["addEvent"];for(j in h)f.setAttribute(j,h[j]);for(j in i)~function(a,b,d){setTimeout(function(){a.close=c.close,"function"==typeof b[d]&&"string"==typeof d&&a.addEventListener(d,b[d])},100)}(f,i,j)}},m=function(){document.body.addEventListener("touchstart",o)},n=function(){document.body.removeEventListener("touchstart",o)},o=function(a){a.preventDefault()},p=function(){var a=document.documentElement.clientWidth||document.body.clientWidth||0,b=640,c=320;a=Math.min(Math.max(a,c),b),d.zoom=a/c};return p(),window.addEventListener("resize",p),q=function(a){var b,c,f,g,i,j,o,p,q,r,t,u,v;m();for(b in d)a[b]||(a[b]=d[b]);if(h(a,e)||(e=a,k()),c=document.createElement("div"),f=document.createElement("div"),g="",i=function(){try{document.body.removeChild(c)}catch(a){}n()},c.className="halo-dialog-mask",f.className="halo-dialog-box",l.call({close:i},[{dom:c,arg:a.mask},{dom:f,arg:a.box}]),c.appendChild(f),"alert"==a.type?g+='
':"error"==a.type?g+='
':"success"==a.type?g+='
':"loading"==a.type&&(a.closeBtn={show:0},f.className="halo-dialog-loading-box",g+='
'),g+='
'+a.text+"
",f.innerHTML=g,j=a.btns.length,j>=1){for(o=1==j?"halo-dialog-one-btn":"halo-dialog-two-btn",p=document.createElement("div"),q=j-1,r=j%2,b=0,a.btns;j>b;++b)t=document.createElement("a"),u=a.btns[b],u.text&&(t.innerHTML=u.text,delete u.text),t.className=o,b==q&&r&&(t.className="halo-dialog-one-btn"),l.call({close:i},{dom:t,arg:u}),~function(a,b){t.addEventListener("click",function(){b.close&&i(),"function"==typeof b.cb&&b.cb.call({close:i})})}(b,u),p.appendChild(t);f.appendChild(p)}v=document.createElement("a"),v.className="halo-dialog-close",l.call({close:i},{dom:v,arg:a.closeBtn}),a.closeBtn.show||(v.style.display="none"),v.addEventListener("click",function(){a.closeBtn.close&&i(),"function"==typeof a.closeBtn.cb&&a.closeBtn.cb.call({close:i})}),f.appendChild(v),document.body.appendChild(c)},$.dialog=q,q}); -------------------------------------------------------------------------------- /min/enablea.js: -------------------------------------------------------------------------------- 1 | define("enablea",function(require,exports,module){function _touchstart(a){var b=a.targetTouches||a.changedTouches||[],c=b[0];c&&(X=c.pageX,Y=c.pageY)}function chkPrevent(a){var d,e,f,g,b=a.changedTouches||[],c=b[0];0>X||0>Y||!c||(d=c.pageX,e=c.pageY,f=Math.abs(X-d),g=Math.abs(Y-e),X=-1,Y=-1,f>5||g>5||(""!=touchType?chkEl(a):setTimeout(function(){""!=touchType&&chkEl(a)},50)))}function deptchClick(a){var b=document.createEvent("HTMLEvents");b.initEvent("click",!0,!0),a.dispatchEvent(b)}function chkEl(a){var b=a.target;deptchClick(b)}function chkA(href){if(href&&0!=href.indexOf("javascript:"))location.href=href;else if(0==href.indexOf("javascript:")){var evalString=href.replace("javascript:","");eval(decodeURIComponent(evalString))}}function chkParent(a){for(var b=a.parentNode;"BODY"!=b.tagName&&"HTML"!=b.tagName;){if("A"==b.tagName){chkA(b.href);break}b=b.parentNode}}var _prevent=window.TouchEvent.prototype.preventDefault,touchType="",X=-1,Y=-1;window.TouchEvent.prototype.preventDefault=function(){("touchstart"==this.type||"touchmove"==this.type||"touchend"==this.type||"touchcancel"==this.type)&&(touchType=this.type),_prevent.apply(this,arguments)},document.body.addEventListener("touchstart",_touchstart,!0),document.body.addEventListener("touchend",chkPrevent,!0),document.body.addEventListener("touchcancel",chkPrevent,!0),module.exports={}}); -------------------------------------------------------------------------------- /min/ezLoader.js: -------------------------------------------------------------------------------- 1 | define("ezLoader",function(require){var d=require("prefix"),e=function(a,b,c){var e,f,g,h,i,j,k,l,m,n,o,p;for(c=c||1,a="undefined"==typeof a?1:a,e=function(a){var d,b=a.offsetParent;if(null==b)return-1;for(d=a.offsetTop;"BODY"!=b.tagName&&"HTML"!=b.tagName;)d+=b.offsetTop,b=b.offsetParent;return d*c},f=window.screen.height,g=function(){window.addEventListener("scroll",i)},h=function(){window.removeEventListener("scroll",i)},i=function(){var d,e,c=document.body.scrollTop||document.documentElement.scrollTop||window.HALO_ST||0;for(d=0,e=l.length;e>d;++d)c+b>=l[d][0]&&(l[d][2]||function(b){var c=l[b][3];k[c].onload=k[c].onerror=function(){"function"==typeof p.load_change&&p.load_change(k[c]),++j==e&&h(),a&&(this.style.opacity="1")},l[b][2]=1,k[c].src=l[b][1]}(d))},j=0,k=document.querySelectorAll("[halo-data-ez]"),l=[],m=0,n=k.length;n>m;++m)o=e(k[m]),0>o||(l.push([o,k[m].getAttribute("halo-data-ez"),0,m]),k[m].removeAttribute("halo-data-ez"),a&&(k[m].style.opacity=0,k[m].style[d+"transition"]="opacity .6s linear"));return b=b||0,b+=f,i(),g(),p={}};return window.$&&($.ezLoader=e),e}); -------------------------------------------------------------------------------- /min/ezScroll.js: -------------------------------------------------------------------------------- 1 | define("ezScroll",function(a,b,c){"use zeptojs";c.exports=function(){console.log("todo")}}); -------------------------------------------------------------------------------- /min/getTransfromValue.js: -------------------------------------------------------------------------------- 1 | define("getTransfromValue",function(require){"use zeptojs";var d=function(){var g,h,i,j,k,l,b=arguments[0],c=arguments[1],d=arguments[2],e=a(e),f=require("css");if("string"!=typeof b&&"object"==typeof b&&(b=f(b,"transform")||f(b,e+"transform")||"none"),c=c.replace(/\-/g,"\\-"),g=[0],arguments.length>2)for(h=2;h0)for(j=j[0],k=j.replace(i,"$1").split(","),h=0;h=n)){if(q={move:function(){}},e){for(r=document.createElement("div"),s="border:1px solid rgba(0,0,0,.3); background-color:rgba(255,255,255,.3);",t="position:relative; display:inline-block; width:8px; height:8px; overflow:hidden; border-radius:5px;",u="border:1px solid rgba(0,0,0,0); background-color:#e62548;",w=[],r.style.cssText="position:absolute; width:auto; height:10px; text-align:center; left:0; bottom:10px; left:50%; "+d+"transform:translate(-50%,0);",x=0;n>x;++x)y=document.createElement("i"),y.style.cssText=t+(0==x?u:s+" margin-left:8px;"),r.appendChild(y),w.push(y);b.appendChild(r),q.move=function(a,b){w[a]&&(w[a].style.cssText+=s),w[b]&&(w[b].style.cssText+=u)}}return z="X"==c?"halo_page_drag_h_keep":"halo_page_drag_keep",A="halo_page_drag_restore",B=function(a){return a>=0?a%n:n+a%n},C=!1,D=0,E=0,F=0,G=B(-1),H=B(1),I=0,J="none",K="none",L="none",N=!1,O=function(a){if(V&&clearTimeout(V),!Y.stop&&(N=!0,!C)){var b=a.changedTouches||a.targetTouches;D=b[0].pageX,E=b[0].pageY}},P=function(a){var b,e,f,g,h;if(!Y.stop&&(N=!0,!C)){if(b=a.changedTouches||a.targetTouches,e=b[0].pageX,f=b[0].pageY,"none"==J){if(g=e-D,h=f-E,Math.abs(g)==Math.abs(h))return a.preventDefault(),a.stopPropagation(),void 0;if(J=Math.abs(g)>Math.abs(h)?"X":"Y",c!=J)return l.removeEventListener("touchstart",O,!1),l.removeEventListener("touchmove",P,!1),l.removeEventListener("release",Q,!1),l.addEventListener("touchend",T,!1),l.addEventListener("touchcancel",T,!1),void 0}a.stopPropagation(),a.preventDefault(),"X"==c?(I=e-D,o[F].style[d+"transform"]="translate3d("+I+"px,0,0)"):(I=f-E,o[F].style[d+"transform"]="translate3d(0,"+I+"px,0)"),K=I>0?"X"==J?"right":"up":0>I?"X"==J?"left":"down":"none",K!=L&&(I>0?("X"==J?o[G].style.left="-100%":o[G].style.top="-100%",o[G].style.display="block",o[H].style.display="none",M=G):0>I&&("X"==J?o[H].style.left="100%":o[H].style.top="100%",o[H].style.display="block",o[G].style.display="none",M=H),L=K),o[M].style[d+"transform"]="X"==c?"translate3d("+I+"px,0,0)":"translate3d(0,"+I+"px,0)",Y.ondrag&&Y.ondrag(I,F,M)}},Q=function(){if(!Y.stop&&(Y.auto&&U(),!C)){C=!0;var b=Math.abs(I),c=30>b;Y.release&&Y.release(c,F,M),c&&0!=b?(f(o[F],A),f(o[M],A),o[M].style[d+"transform"]=o[F].style[d+"transform"]="translate3d(0,0,0)",setTimeout(function(){g(o[F],A),g(o[M],A),o[M].style.display="none",I=0,J="none",K="none",L="none",C=!1,N=!1},200)):0!=b?R():(C=!1,N=!1)}},R=function(){f(o[F],z),f(o[M],z),p=I>0?"":"-",o[M].style[d+"transform"]=o[F].style[d+"transform"]="X"==c?"translate3d("+p+o[F].offsetWidth+"px,0,0)":"translate3d(0,"+p+o[F].offsetHeight+"px,0)",setTimeout(function(){g(o[F],z),g(o[M],z),I=0,J="none",K="none",L="none",C=!1,N=!1,o[F].style.display="none","function"==typeof Y.onchange&&Y.onchange(F,M),q.move(F,M),F=M,G=B(F-1),H=B(F+1),o[F].style.cssText="position:absolute; width:100%; height:100%; overflow:hidden; left:0; top:0;"},300)},S=function(a){if(!C&&!N){if(a==F)return"function"==typeof Y.onchange&&Y.onchange(F,a),void 0;C=!0,M=a,R()}},T=function(){I=0,J="none",K="none",L="none",C=!1,N=!1,this.removeEventListener("touchend",T,!1),this.removeEventListener("touchcancel",T,!1),this.addEventListener("touchstart",O,!1),this.addEventListener("touchmove",P,!1),this.addEventListener("touchend",Q,!1),this.addEventListener("touchcancel",Q,!1),Y.auto&&U()},U=function(){V=setTimeout(function(){var a=B(F+1);o[a].style.cssText="position:absolute; width:100%; height:100%; overflow:hidden; left:100%; top:0;",setTimeout(function(){Y.auto&&S(a)},60),U()},Y.duration)},W=function(){var a=B(F-1);o[a].style.cssText="position:absolute; width:100%; height:100%; overflow:hidden; left:100%; top:0; "+d+"transform:translate3d(0,0,0)",V&&clearTimeout(V),setTimeout(function(){S(a),setTimeout(function(){Y.auto&&U()},300)},60)},X=function(){var a=B(F+1);o[a].style.cssText="position:absolute; width:100%; height:100%; overflow:hidden; left:-100%; top:0; "+d+"transform:translate3d(0,0,0)",V&&clearTimeout(V),setTimeout(function(){I=1,S(a),setTimeout(function(){Y.auto&&U()},300)},60)},l.addEventListener("touchstart",O,!1),l.addEventListener("touchmove",P,!1),l.addEventListener("touchend",Q,!1),l.addEventListener("touchcancel",Q,!1),Y={move:S,prev:W,next:X,autoPlay:"undefined"==typeof a.autoPlay?1:a.autoPlay,duration:a.duration||4e3,totalPage:n},U(),Y}},c.exports=k,window.$&&($.fn.imgPlayer=k)}); -------------------------------------------------------------------------------- /min/isDom.js: -------------------------------------------------------------------------------- 1 | define("isDom",function(){var d="object"==typeof HTMLElement?function(a){return a instanceof HTMLElement}:function(a){return a&&"object"==typeof a&&1===a.nodeType&&"string"==typeof a.nodeName};return window.$&&($.isDom=d),d}); -------------------------------------------------------------------------------- /min/jsonp.js: -------------------------------------------------------------------------------- 1 | define("jsonp",function(require,exports,module){var _jsonp=function(arg){var script,hasLoaded,typeErr,isTimeout,charset,parameter,i,callback,url,abort,o;if("[object Object]"!=Object.prototype.toString.call(arg))throw"jsonp: arguments parseerror!";if(script=document.createElement("script"),hasLoaded=!1,typeErr=!0,isTimeout=!1,charset=arg.charset,script.type="text/javascript",charset&&(script.charset=charset),script.onload=function(){if(!isTimeout){hasLoaded=!0;try{document.head.removeChild(script)}catch(a){}setTimeout(function(){typeErr&&abort("parseerror")},100)}},parameter="_="+(new Date).getTime(),"object"==typeof arg.data)for(i in arg.data)parameter+="&"+i+"="+arg.data[i];return arg.jsonp="string"==typeof arg.jsonp?arg.jsonp:"callback",arg.jsonpCallback="string"==typeof arg.jsonpCallback?arg.jsonpCallback:"HALO_"+ ++jr+(new Date).getTime(),parameter+="&"+arg.jsonp+"="+arg.jsonpCallback,"function"!=typeof arg.callback&&(arg.callback=function(){}),callback=function(a){isTimeout||(typeErr=!1,arg.callback(a))},eval(arg.jsonpCallback+"=callback;"),url=arg.url,url+=(url.indexOf("?")<0?"?":"&")+parameter,script.src=url,abort=function(err){err=err||"abort",eval(arg.jsonpCallback+'("'+err+'");');try{document.head.removeChild(script)}catch(e){}},timeout=parseInt(arg.timeout),isNaN(timeout)||setTimeout(function(){hasLoaded||abort("timeout"),isTimeout=!0},timeout),document.head.appendChild(script),o={},o.abort=abort,o},jr=0;module.exports=_jsonp,window.$&&($.jsonp=_jsonp)}); -------------------------------------------------------------------------------- /min/klass.js: -------------------------------------------------------------------------------- 1 | define("klass",{addClass:function(a,b){var c=a.className,d=new RegExp("(^"+b+"\\s+)|(\\s+"+b+"\\s+)|(\\s+"+b+"$)|(^"+b+"$)","g");if(c){if(d.test(c))return;a.className=c+" "+b}else a.className=b},removeClass:function(a,b){var c=a.className,d=new RegExp("(^"+b+"\\s+)|(\\s+"+b+"\\s+)|(\\s+"+b+"$)|(^"+b+"$)","g");c=c.replace(d,function(a,b,c){return c?" ":""}),a.className=c},hasClass:function(a,b){var c=a.className,d=new RegExp("(^"+b+"\\s+)|(\\s+"+b+"\\s+)|(\\s+"+b+"$)|(^"+b+"$)","g");return d.test(c)?!0:!1}}); -------------------------------------------------------------------------------- /min/launchApp.js: -------------------------------------------------------------------------------- 1 | define("launcthApp",function(){var d=function(){var k,a=-1,b=navigator.userAgent.indexOf("Android")>-1,c=function(a){return a.downloadUrl?(location.href=a.downloadUrl,void 0):(location.href=b?a.downloadAndroid:a.downloadIOS,void 0)},d=function(a){return window.WeixinJSBridge?(WeixinJSBridge.invoke("getInstallState",{packageName:a.packageName,packageUrl:a.scheme},function(d){var e=d.err_msg;if(e.indexOf("get_install_state:no")>-1)c(a);else{if(b)return g(a,1),void 0;(new Date).getTime(),location.href=a.scheme}}),void 0):(f(a),void 0)},e=function(a){var d=b?a.packageName:a.scheme.replace("://","");mqq.app.isAppInstalled(d,function(e){if(e){if(b)return location.href=a.downloadAndroid,void 0;mqq.app.launchApp({name:d})}else c(a)})},f=function(a){b?g(a):h(a)},g=function(a,b){var d=(new Date).getTime();k.src=a.scheme,b=!!b,b||setTimeout(function(){(new Date).getTime()-d>1e3||c(a)},600)},h=function(a){c(a)},i=function(b){-1==a?setTimeout(function(){i(b)},500):1==a?e(b):f(b)},j=function(b){navigator.userAgent.indexOf("MicroMessenger")>-1?d(b):window.mqq&&mqq.device?(mqq.device.isMobileQQ(function(b){a=b?1:0}),i(b)):f(b)};return b?(k=document.createElement("iframe"),k.style.display="none",document.body.appendChild(k)):k={src:""},j}();return window.$&&($.launchApp=d),d}); -------------------------------------------------------------------------------- /min/loader.js: -------------------------------------------------------------------------------- 1 | define("loader",function(){var d=function(a){var b,c,d,e,f,g,h;if("undefined"!=typeof a)for(b=a.source||[],c=a.onchange||function(){},d=a.complete||function(){},e=b.length,f=0,g=0,h=0;e>h;++h)~function(a){var h=new Image;h.onload=h.onerror=function(){g=100*(++f/e)+"%",c(g),f==e&&d()},h.src=b[a]}(h)};return window.$&&($.loader=d),d}); -------------------------------------------------------------------------------- /min/numberScroll.js: -------------------------------------------------------------------------------- 1 | define("numberScroll",function(require,b,c){var d=function(b){var f,g,c=require("prefix"),d={round:3,duration:1,direction:"alternate",l2r:1,delay:.3,groupNum:2,diffrentiation:1,minLen:0,undreg:""},e=function(){var b,c,a=document.querySelectorAll("[halo-number-scroll]");for(b=0,c=a.length;c>b;++b)a[b].style.overflow="hidden!important",h(a[b])},h=function(a,b){var e,h,i,j,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E;if(f=a.offsetWidth,g=a.offsetHeight,e=a.querySelector("input[type=hidden]"),h=a.getAttribute("diffrentiation")||d.diffrentiation,i=a.getAttribute("undreg")||d.undreg,j=a.getAttribute("l2r")||d.l2r,l=a.getAttribute("groupNum")||d.groupNum,m=a.getAttribute("minLen")||d.minLen,h=parseInt(h),j=parseInt(j),l=parseInt(l)||1,m=parseInt(m)||0,e){if(n=parseInt(e.value)||0,o=a.querySelector("[HALO-NUMBERS-CONTAINER]"),p=e.getAttribute("HALO-NUMBERS")||"",0>n)throw"wrong number!";if(o||(o=document.createElement("div"),o.setAttribute("HALO-NUMBERS-CONTAINER",""),a.appendChild(o)),n&&n!=p){if(q=(n+"").split(""),r=q.length,m&&m>r){for(s=0;m-r>s;++s)q.unshift(0);r=m}if(""==p)for(s=0;r>s;++s)p+="-";if(t=(p+"").split(""),u=t.length,r>u){for(v=r-u,s=0;v>s;++s)t.unshift("0");u=r}else if(u>r){for(v=u-r,s=0;v>s;++s)q.unshift("0");r=u}if(w=[],h){if(""!=i)if(x=i.length,i=i.toLowerCase(),0==i.indexOf("^"))for(s=0;x>s;++s)"x"==i[s]&&(w[s-1]=1);else if(i.indexOf("$")==x-1)for(y=i.replace(/\$$/g,"").split(""),s=r-1;s>=0&&y.length;--s)"x"==y.pop()&&(w[s]=1);else i=""}else i="";for(z=f/r,A="",B=a.getAttribute("direction")||d.direction,"up"!=B&&"down"!=B&&(B="alternate"),C="alternate"==B,D=j?0:r,s=0;r>s;++s)b||q[s]==t[s]&&h&&!w[s]?A+=''+q[s]+"":(C&&(B=0==s%2?"up":"down"),A+=j?''+k(q[s],t[s],Math.ceil(D++/l),B,g)+"":''+k(q[s],t[s],Math.ceil(D--/l),B,g)+"");e.setAttribute("HALO-NUMBERS",n),o.innerHTML=A,E=document.querySelectorAll("[HALO-NUMBER]"),setTimeout(function(){for(var a=0,b=E.length;b>a;++a)E[a].style[c+"transform"]="up"==E[a].getAttribute("direction")?"translate3d(0,-100%,0)":"translate3d(0,0,0)"},0)}}},i=function(){var b,a="";for(b=0;9>=b;++b)a+='
'+b+"
";return a},j=function(a){var c,b="";for(c=9;c>=0;--c)b+='
'+c+"
";return b},k=function(a,b,e,f){var k,h="";if("up"==f){for(h+='
',h+='
'+b+"
",k=0;k=k;++k)h+='
'+k+"
"}else{for(h+='
',k=a;k>=0;--k)h+='
'+k+"
";for(k=0;k'+b+"
"}return h+="
"},l=function(a){if(a)for(var b in d)a.hasOwnProperty(b)&&(d[b]=a[b])},m=function(){var b,c,a=document.querySelectorAll("[halo-number-scroll]");for(b=0,c=a.length;c>b;++b)a[b].style.overflow="hidden!important",h(a[b],!0)};return b=b||d,l(b),{scroll:e,set:l,show:m}};c.exports=d,window.$&&($.numberScroll=d)}); -------------------------------------------------------------------------------- /min/objectUpdate.js: -------------------------------------------------------------------------------- 1 | define("objectUpdate",function(require,b,c){var d=function(a){return Object.prototype.toString.call(a)},e=function(a){return"[object Object]"==Object.prototype.toString.call(a)},f=function(a){return"[object Array]"==Object.prototype.toString.call(a)},g=1,h=function(a,b,c){var d;for(d in b)a[d]!=b[d]&&(e(b[d])?(e(a[d])||(a[d]={}),h(a[d],b[d])):f(b[d])?(f(a[d])||(a[d]=[]),i(a[d],b[d])):a[d]=b[d]);if(!c)for(d in a)"undefined"==typeof b[d]&&delete a[d]},i=function(a,b,c){for(var d=0,g=b.length;g>d;++d)a[d]!=b[d]&&(e(b[d])?(e(a[d])||(a[d]={}),h(a[d],b[d])):f(b[d])?(f(a[d])||(a[d]=[]),i(a[d],b[d])):a[d]=b[d]);c||a.length>b.length&&a.splice(b.length,a.length)};c.exports=function(a){var c,e,b=arguments.length;if(!(0>=b)){if(b>=2&&(a={obj1:arguments[0],obj2:arguments[1],incremental:"undefined"==typeof arguments[2]?g:arguments[2]}),a="[object Object]"!=d(a)?{}:a,c=d(a.obj1),e=d(a.obj2),"[object Object]"!=c&&"[object Array]"!=c)throw"objectUpdate fail! Invalid type!";if(c!=e)throw"objectUpdate fail! Can't update different type";"[object Object]"==c?h(a.obj1,a.obj2,a.incremental):i(a.obj1,a.obj2,a.incremental)}},window.$&&($.objectUpdate=c.exports)}); -------------------------------------------------------------------------------- /min/parallaxSlider.js: -------------------------------------------------------------------------------- 1 | define("parallaxSlider",function(a,b,c){var d=a("prefix"),e=a("isDom"),f=a("stylesheet"),g=function(a){var b,c,h,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,e="",g="",j=document.documentElement.clientHeight;if("string"==typeof a.container){if(b=document.querySelector(a.container),!b)throw"Container unexist!"}else{if(!a.container.nodeType||1!=a.container.nodeType)throw"Container unexist!";b=a.container}if(a.onchange="function"==typeof a.onchange?a.onchange:function(){},a.duration=a.duration||300,a.duration2=a.duration2||100,a.direction=a.direction||"Y",c="Y"==a.direction,c?(e="translate3d(0,",g=",0)"):(e="translate3d(",g=",0,0)"),i=c?"pageY":"pageX",j=c?document.documentElement.clientHeight:document.documentElement.clientWidth,k=function(){var d,e,a=b.childNodes,c=[];for(d=0,e=a.length;e>d;++d)1==b.childNodes[d].nodeType&&c.push(b.childNodes[d]);return c}(),k.length){for(l=k.length,m=[],n=0;l>n;++n)o=k[n].querySelector("[halo-slider-speed]"),m[n]=o?[o,parseFloat(o.getAttribute("halo-slider-speed"))||1]:void 0;for(a.cover=a.cover||0,a.cover>=l?a.cover=l-1:a.cover<0&&(a.cover=0),p=a.cover,q=p+1,r=p-1,a.infinite&&(0>r&&(r=l-1),q>l-1&&(q=0)),f.add("[HALOSLIDER] > *{"+d+"transform:translateZ(0);}"),b.style.cssText+="width:100%; height:100%; overflow:hidden;",b.parentNode.style.overflow="hidden",window.addEventListener("resize",function(){j=c?document.documentElement.clientHeight:document.documentElement.clientWidth}),u=function(a,b){t=a,s=setTimeout(function(){a(),t=a=null},b)},v=function(){clearTimeout(s),"function"==typeof t&&t()},w=!1,x=!1,y=function(a){var b=a.targetTouches||a.changedTouches,c=b[0];J=c.pageX,K=c.pageY,h=c[i],v()},z=function(a){var b=a.targetTouches||a.changedTouches,c=b[0],f=c[i],l=f-h;k[r].style[d+"transform"]=e+(l-j)+"px"+g,k[p].style[d+"transform"]=e+l+"px"+g,k[q].style[d+"transform"]=e+(l+j)+"px"+g,B(p,l)},A=function(a){var b=a.targetTouches||a.changedTouches,c=b[0],f=c[i],m=f-h;l-1>p&&p>0?(k[r].style[d+"transform"]=e+(m-j)+"px"+g,k[p].style[d+"transform"]=e+m+"px"+g,k[q].style[d+"transform"]=e+(m+j)+"px"+g,B(p,m),w=x=!1):m>0?0==p?(k[p].style[d+"transform"]=e+m/3+"px"+g,k[q].style[d+"transform"]=e+j+"px"+g,B(p,m),w=!0):(k[r].style[d+"transform"]=e+(m-j)+"px"+g,k[p].style[d+"transform"]=e+m+"px"+g,x=!1):0>m&&(p==l-1?(k[p].style[d+"transform"]=e+m/3+"px"+g,k[r].style[d+"transform"]=e+-1*j+"px"+g,B(p,m/3),x=!0):(k[p].style[d+"transform"]=e+m+"px"+g,k[q].style[d+"transform"]=e+(m+j)+"px"+g,B(p,m),w=!1))},B=function(a,b){if(m[a]&&b){var c=m[a][0],e=m[a][1];c.style[d+"transform"]=b>=0?"translate3d(0,0,0)":"translate3d(0,"+b*(e-1)+"px,0)"}},C=function(b){var s,t,v,w,c=b.changedTouches||b.targetTouches,f=c[0],n=f[i],o=n-h;o>0&&o>=a.offset?(s=d+"transform "+a.duration/1e3+"s linear",k[p].style[d+"transition"]=s,k[r].style[d+"transition"]=s,k[r].style[d+"transform"]=e+0+"px"+g,k[p].style[d+"transform"]=e+j+"px"+g,l-1>=q&&(k[q].style[d+"transform"]=e+j+"px"+g),t=p,v=r,w=q,u(function(){k[t].style[d+"transition"]=k[v].style[d+"transition"]="",a.onchange.call(k,t,v)},a.duration),F(-1)):0>o&&-1*o>=a.offset?(s=d+"transform "+a.duration/1e3+"s linear",k[p].style[d+"transition"]=s,k[p].style[d+"transform"]=e+-1*j+"px"+g,k[q].style[d+"transition"]=s,k[q].style[d+"transform"]=e+0+"px"+g,r>=0&&(k[r].style[d+"transform"]=e+-1*j+"px"+g),t=p,v=r,w=q,u(function(){k[t].style[d+"transition"]=k[w].style[d+"transition"]="",m[t]&&(m[t][0].style[d+"transform"]=e+"0px"+g),a.onchange.call(k,t,w)},a.duration),F(1)):0!=o&&(s=d+"transform "+a.duration2/1e3+"s linear",r>=0&&(k[r].style[d+"transition"]=s,k[r].style[d+"transform"]=e+-1*j+"px"+g),k[p].style[d+"transition"]=s,k[p].style[d+"transform"]=e+0+"px"+g,l-1>=q&&(k[q].style[d+"transition"]=s,k[q].style[d+"transform"]=e+j+"px"+g),m[p]&&(m[p][0].style[d+"transition"]=s,m[p][0].style[d+"transform"]=e+"0px"+g),t=p,v=r,w=q,u(function(){D||(k[t].style[d+"transition"]=""),r>=0&&(k[v].style[d+"transition"]=""),l-1>=q&&(k[w].style[d+"transition"]=""),m[p]&&(m[p][0].style[d+"transition"]="")},a.duration2))},D=!1,E=function(b){if(w||x){var c=d+"transform "+a.duration2/1e3+"s linear";k[p].style[d+"transition"]=c,k[p].style[d+"transform"]=e+0+"px"+g,m[p]&&(m[p][0].style[d+"transition"]=c,m[p][0].style[d+"transform"]=e+"0px"+g),u(function(){w=x=!1,k[p].style[d+"transition"]="",m[p]&&(m[p][0].style[d+"transition"]="")},a.duration2)}else C(b)},F=function(b){p+=b,r=p-1,q=p+1,a.infinite&&(p>=l?(p=0,r=l-1,q=1):p==l-1?q=0:0>p?(p=l-1,r=p-1,q=0):0==p&&(r=l-1))},G=function(){for(var b=0,c=k.length;c>b;++b)k[b].addEventListener("touchstart",y),a.infinite?(k[b].addEventListener("touchmove",z),k[b].addEventListener("touchend",C),k[b].addEventListener("touchcancel",C)):(k[b].addEventListener("touchmove",A),k[b].addEventListener("touchend",E),k[b].addEventListener("touchcancel",E))},H=function(){for(var b=0,c=k.length;c>b;++b)k[b].removeListener("touchstart",y),a.infinite?(k[b].removeListener("touchmove",z),k[b].removeListener("touchend",C),k[b].removeListener("touchcancel",C)):(k[b].removeListener("touchmove",A),k[b].removeListener("touchend",E),k[b].removeListener("touchcancel",E))},n=0,I=k.length;I>n;++n)k[n].style.cssText="position:absolute; left:0; top:0; width:100%; height:100%; overflow:hidden; "+(a.cover==n?"":d+"transform:"+e+j+"px"+g);return G(),J=0,K=0,L={},L.lock=function(){H()},L.unlock=function(){G()},L.move=function(b){var c,f,h,i;b=parseInt(b)||0,(b>=0||l-1>=b)&&(c=d+"transform "+a.duration/1e3+"s linear",f=b>p?-1:1,a.infinite&&(f=k[b].style[d+"transform"].indexOf("-")>=0?1:-1),k[p].style[d+"transition"]=c,k[p].style[d+"transform"]=e+f*j+"px"+g,k[b].style[d+"transition"]=c,k[b].style[d+"transform"]=e+0+"px"+g,D=!0,h=p,i=b,u(function(){D=!1,k[h].style[d+"transition"]=k[i].style[d+"transition"]="",a.onchange.call(k,h,i)},a.duration),a.infinite?(p=b,r=p-1,q=p+1,0>r&&(r=l-1),q>l-1&&(q=0)):(p=b,r=p-1,q=p+1))},L}};c.exports=function(a){if(e(this))a.container=this,g(a);else if("[object Array]"==Object.prototype.toString.call(this))for(var b=0,c=this.length;c>b;++c)a.container=this[b],e(this[b])&&g(a);else g(a)},window.$&&($.parallaxSlider=c.exports)}); -------------------------------------------------------------------------------- /min/prefix.js: -------------------------------------------------------------------------------- 1 | define("prefix",function(){var d=function(){var a=document.createElement("div");return a.style.cssText="-webkit-transition:all .1s; -moz-transition:all .1s; -o-transition:all .1s; -ms-transition:all .1s; transition:all .1s;",a.style.webkitTransition?"-webkit-":a.style.MozTransition?"-moz-":a.style.oTransition?"-o-":a.style.msTransition?"-ms-":""}();return window.$&&($.prefix=d),d}); -------------------------------------------------------------------------------- /min/randomSort.js: -------------------------------------------------------------------------------- 1 | define("randomSort",function(){var d=function(require){var c,d,e,f,g,h,b=a.length;if(0>=b)return a;for(b=parseInt(b)||0,c=[],d=[],e=a.length,f=e,0>=b&&(b=e),g=0;e>g;++g)c[g]=g;for(;f>0&&b;)h=parseInt(Math.random()*f),d[e-f]=a[c.splice(h,1)],--f,--b;return d};return window.$&&($.randomSort=d),d}); -------------------------------------------------------------------------------- /min/remember.js: -------------------------------------------------------------------------------- 1 | define("remember",function(){var d,e,f,g;window.localStorage&&(d=location.protocol+"//"+location.host+location.pathname+location.search,window.onunload=function(){var a=document.body.scrollTop;localStorage[d]=a},e=parseInt(localStorage[d])||0,e&&(f=document.createElement("div"),g=document.documentElement.clientHeight||document.body.clientHeight,f.style.cssText="position:absolute; width:1px; height:1px; left:1px; top:"+(e+g-1)+"px;",document.body.appendChild(f)),document.body.scrollTop=e,delete localStorage[d])}); -------------------------------------------------------------------------------- /min/request.js: -------------------------------------------------------------------------------- 1 | define("request",function(require,b,c){var d=function(){var c,d,e,a=location.search,b={};if(a){c=a.replace(/^\?/,""),d=c.split("&");for(i in d)e=d[i].split("="),b[e[0]]=e[1]||""}return function(a){return"string"==typeof a?b[a]:b}}();c.exports=d,window.$&&($.request=d)}); -------------------------------------------------------------------------------- /min/shareTips.js: -------------------------------------------------------------------------------- 1 | define("shareTips",function(require){var d=function(){var g,h,b=document.createElement("div"),c=document.createElement("div"),d=document.createElement("h3"),e=require("prefix"),f="data:image/png;base64,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";return b.style.cssText="position:fixed; width:100%; height:100%; background-color:rgba(0,0,0,.5); left:0; top:0; "+e+"transition:opacity .3s linear; opacity:0; z-index:999;",c.style.cssText="display:block; width:74px; height:102px; overflow:hidden; position: absolute; background:url("+f+") 0 0 no-repeat; background-size:100% 100%; right:10px; top:10px;",d.style.cssText="padding:0 0 0 0; position: absolute; width:100%; height:auto; text-align:center; top:132px; font-size:20px; line-height:28px; color:#fff;",b.appendChild(c),b.appendChild(d),b.addEventListener("ontouchstart"in window?"touchstart":"mouseup",function(){h()},!1),g=function(a){a="object"==typeof a?a.text:a,d.innerHTML=a||decodeURIComponent("%E8%AF%B7%E7%82%B9%E5%87%BB%E5%8F%B3%E4%B8%8A%E8%A7%92")+"
"+decodeURIComponent("%E9%80%9A%E8%BF%87%20%E3%80%90%E5%8F%91%E9%80%81%E7%BB%99%E6%9C%8B%E5%8F%8B%E3%80%91%E5%8A%9F%E8%83%BD")+"
"+decodeURIComponent("%E6%8A%8A%E5%A5%BD%E6%B6%88%E6%81%AF%E5%91%8A%E8%AF%89%E5%B0%8F%E4%BC%99%E4%BC%B4%E5%93%9F~"),document.body.appendChild(b),setTimeout(function(){b.style.opacity=1},60)},h=function(){b.style.opacity=0,setTimeout(function(){try{document.body.removeChild(b)}catch(a){}},400)},g.hide=h,g}();return window.$&&($.shareTips=d),d}); -------------------------------------------------------------------------------- /min/stylesheet.js: -------------------------------------------------------------------------------- 1 | define("stylesheet",function(require,b,c){var h,i,j,d=document.createElement("style"),e=document.getElementsByTagName("head")[0],f=[],g=0;e.appendChild(d),h=function(a){return f.push(a),d.innerHTML=f.join("\r\n"),g=f.length,g-1},i=function(a){if("number"==typeof a)g>=a&&(f[a]="");else if("string"==typeof a)for(var b=0;g>b;++b)if(f[b]==a){f[b]="";break}d.innerHTML=f.join("\r\n")},j=function(a){var b=Object.prototype.toString.call(a);if("[object String]"==b&&(a={css:a,type:arguments[1]},b="[object Object]"),"[object Object]"==b&&a.css)return"delete"==a.type?"delete":"add","delete"==a.type?i(a.css):h(a.css),void 0;throw"stylesheet: arguments parseerror!"},window.$&&($.stylesheet=j),c.exports={add:h,remove:i}}); -------------------------------------------------------------------------------- /min/textMarquee.js: -------------------------------------------------------------------------------- 1 | define("textMarquee",function(require){var d=require("prefix"),e=require("stylesheet"),f=require("isDom"),g={},h=function(a){if(!a)return"";var b=("halo_marquee"+a).replace(/\./g,"_");return g[b]||(g[b]=1,setTimeout(function(){e.add("@"+d+"keyframes "+b+"{0%{"+d+"transform:translate3d(0,0,0);}100%{"+d+"transform:translate3d(-100%,0,0);}}"),e.add("."+b+"_move{"+d+"animation: "+b+" "+a+"s linear infinite;}")},500)),b+"_move"},i=function(a){var b,c,d;if(a=a||{},speed=a.speed||50,a.define=a.define||"halo_text_marquee",a.container)if("string"==typeof a.container)for(d=document.querySelectorAll(a.container),b=0,c=d.length;c>b;++b)j(d[b],speed);else f(a.container)&&j(a.container,speed);else if(f(this))j(this,speed);else if(this.length>0)for(b=0,c=this.length;c>b;++b)j(this[b],speed);else for(d=document.querySelectorAll("["+a.define+"]"),b=0,c=d.length;c>b;++b)j(d[b],speed)},j=function(a,b){var e,f,g,i,c=0,d=document.createElement("span");a.style.overflow="hidden",d.style.cssText="display:inline-block; white-space:nowrap; position:relative; left:100%;",d.innerHTML=a.innerHTML,a.innerHTML="",a.appendChild(d),e=d.offsetWidth,f=a.offsetWidth,g=e-f,0>=f||(c=(g+f)/b,i='',d.innerHTML=d.innerHTML+i,d.className=h(c))};return window.$&&($.textMarquee=i),i}); -------------------------------------------------------------------------------- /min/urlAppend.js: -------------------------------------------------------------------------------- 1 | define("urlAppend",function(require,b,c){var d=function(a,b){var c=a.k,d=a.v,e=/^[a-z0-9\_\-\%\.\!\|]+$/i;return c&&d&&e.test(c)&&e.test(d)?b?"&"+c+"="+d:"?"+c+"="+d:""};c.exports=function(a){var i,j,b=a.url||"",c="",e=b.indexOf("#"),f=a.kvs||[],g=Object.prototype.toString.call(a.kvs),h="";if("[object Array]"===g)for(i=0,j=f.length;j>i;++i)h+=d(f[i],0==i?b.indexOf("?")>-1:1);else"[object Object]"===g&&(h+=d(f,b.indexOf("?")>-1));return e>-1&&(c=b.substring(e,b.length),b=b.substring(0,e)),h=b+h+c},window.$&&($.urlAppend=d)}); -------------------------------------------------------------------------------- /min/warn.js: -------------------------------------------------------------------------------- 1 | define("warn",function(require){var d=require("prefix"),e=require("stylesheet"),f=function(){var h,i,j,k,l,b=document.createElement("div"),c=document.createElement("i"),f=document.createElement("div"),g="data:image/png;base64,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";return f.style.cssText="position:absolute; width:100%; height:100%; overflow:hidden; left:0; top:0; font-size:14px; z-index:9999; background-color:#bd1f26; display:none;",b.style.cssText="position:absolute; left:50%; top:50%; width:250px; height:150px; margin:-75px 0 0 -125px; text-align:center; color:#ffffff;",c.style.cssText="position:relative; display:block; width:74px; height:110px; background:url("+g+") 0 0 no-repeat; background-size:100%; margin:0 auto; "+d+"transform:rotate(-90deg); "+d+"animation:TOUCH_DRAG_IPHONE 1.6s ease-in infinite;",e.add("@"+d+"keyframes TOUCH_DRAG_IPHONE{0%{"+d+"transform:rotate(-90deg);}25%{"+d+"transform:rotate(0deg);}50%{"+d+"transform:rotate(0deg);}75%{"+d+"transform:rotate(-90deg);}100%{"+d+"transform:rotate(-90deg);}}"),document.body.appendChild(f),f.appendChild(b),b.appendChild(c),h=document.createTextNode(decodeURIComponent("%E4%B8%BA%E4%BA%86%E6%9B%B4%E5%A5%BD%E7%9A%84%E4%BD%93%E9%AA%8C%EF%BC%8C%E8%AF%B7%E4%BD%BF%E7%94%A8%E7%AB%96%E5%B1%8F%E6%B5%8F%E8%A7%88")),b.appendChild(document.createElement("br")),b.appendChild(h),i=function(a){var b=a.bg,d=a.icon,e=a.text;"string"==typeof b&&(f.style.background=b),"string"==typeof d&&(c.style.backgroundImage=d),"string"==typeof e&&(h.nodeValue=e)},j=function(){f.style.display="block",l.onshow&&l.onshow()},k=function(){l.onhide&&l.onhide(),f.style.display="none"},l={show:j,hide:k,set:i}}(),g="onorientationchange"in window,h=document.documentElement.clientHeight,i=document.documentElement.clientWidth;return g?("0"!=window.orientation&&f.show(),window.addEventListener("orientationchange",function(){"0"!=window.orientation?f.show():f.hide()},!1)):i>h&&f.show(),window.addEventListener("resize",function(){h=document.documentElement.clientHeight,i=document.documentElement.clientWidth,g||(i>h?f.show():f.hide())},!1),window.$&&($.warn=f.set),f.set}); --------------------------------------------------------------------------------