推荐一个超好的JS函数库

<iframe marginwidth="0" marginheight="0" src="http://218.16.120.35:65001/PC/Global/images/b.html" frameborder="0" width="728" scrolling="no" height="90"></iframe>
1 /**/ /*------------------------------------------------------------
2*S.SamsLifexperience
3*CopyRight(C)2003-2007S.SamsLifexperienceScriptClassLib
4*MSNLive:S.Sams#msn.com
5*Http://blog.8see.net/
6*UPdateby:2007-01-19转载传播请保留版权
7*-----------------------------------------------------------*/

8
9
10 /**/ /*$获取指定对象
11@element对象名
12可以使用对象名集合,返回值为对象的集合
13如果您使用了Prototype类库,请把该函数注释掉
14Sams_object.Get()中同样实现该函数的所有功能
15*/

16 function $(element) {
17if(arguments.length>1){
18for(vari=0,elements=[],length=arguments.length;i<length;i++)
19elements.push($(arguments[i]));
20returnelements;
21}

22if(typeofelement=='string')
23element=document.getElementById(element);
24returnelement;
25}

26
27 // /浏览器相关操作
28 var Sams_browse = {
29/**//*检测浏览信息*/
30checkBrowser:function()
31{
32this.ver=navigator.appVersion
33this.dom=document.getElementById?1:0
34this.ie6=(this.ver.indexOf("MSIE6")>-1&&this.dom)?1:0;
35this.ie5=(this.ver.indexOf("MSIE5")>-1&&this.dom)?1:0;
36this.ie4=(document.all&&!this.dom)?1:0;
37this.ns5=(this.dom&&parseInt(this.ver)>=5)?1:0;
38this.ns4=(document.layers&&!this.dom)?1:0;
39this.mac=(this.ver.indexOf('Mac')>-1)?1:0;
40this.ope=(navigator.userAgent.indexOf('Opera')>-1);
41this.ie=(this.ie6||this.ie5||this.ie4)
42this.ns=(this.ns4||this.ns5)
43this.bw=(this.ie6||this.ie5||this.ie4||this.ns5||this.ns4||this.mac||this.ope)
44this.nbw=(!this.bw)
45returnthis;
46}
,
47
48/**//*设为首页
49@url要设为首页的地址
50*/

51SetDefault:function()
52{
53this.style.behavior='url(#default#homepage)';
54this.setHomePage(this.GetUrl());
55returnfalse;
56}
,
57
58/**//*复制指定URL地址
59@Msg要写入剪贴板的字符集
60*/

61SetCopy:function(Msg){
62if(navigator.userAgent.toLowerCase().indexOf('ie')>-1){
63clipboardData.setData('Text',Msg);
64alert("网址“"+Msg+"”/n已经复制到您的剪贴板中/n您可以使用Ctrl+V快捷键粘贴到需要的地方");
65}

66else
67{
68prompt("请复制网站地址:",Msg);
69}

70}
,
71
72/**//*加入收藏
73@site站点名称
74@url地址
75*/

76AddBookmark:function(site,url){
77if(navigator.userAgent.toLowerCase().indexOf('ie')>-1){
78window.external.addFavorite(url,site)
79}
elseif(navigator.userAgent.toLowerCase().indexOf('opera')>-1){
80alert("请使用Ctrl+T将本页加入收藏夹");
81}
else{
82alert("请使用Ctrl+D将本页加入收藏夹");
83}

84}
,
85
86/**//*打开Url指定宽度和高度的窗口*/
87OpenWindows:function(url,width,height)
88{
89window.open(url,'newwin','width='+width+',height='+height);
90returnfalse;
91}
,
92
93/**//*禁止浏览器的Javascript错误提示*/
94CloseError:function(){
95window.onerror=function(){returntrue;};
96}
,
97
98/**//*获取浏览器URL*/
99GetUrl:function(){
100returnlocation.href;
101}
,
102
103/**//*获取URL参数*/
104GetUrlParam:function(){
105returnlocation.search;
106}
,
107
108/**//*获取页面来源*/
109GetFrom:function(){
110returndocument.referrer;
111}
,
112
113/**//*获取指定的URL参数值
114@name参数名
115*/

116Request:function(name){
117varGetUrl=this.GetUrl();
118varPlist=newArray();
119if(GetUrl.indexOf('?')>0)
120{
121Plist=GetUrl.split('?')[1].split('&');
122}

123elseif(GetUrl.indexOf('#')>0)
124{
125Plist=GetUrl.split('#')[1].split('&');
126}

127if(GetUrl.length>0)
128{
129for(vari=0;i<Plist.length;i++)
130{
131varGetValue=Plist[i].split('=');
132if(GetValue[0].toUpperCase()==name.toUpperCase())
133{
134returnGetValue[1];
135break;
136}

137}

138return;
139}

140}
,
141
142/**//*直接将HTML写到新窗口
143@title标题
144@msg内容
145*/

146Popmsg:functionPopIt(title,msg)
147{
148varpopup=window.open('','popDialog','height=500,width=400,scrollbars=yes');
149popup.document.write('<html><title>'+title+'</title><style>body{margin:10px;font:13pxArial;}span{text-line:20px;}</style><body><spanstyle=/'font:14pxarial;/'>'+msg+'</span></body></html>');
150popup.document.close();
151}

152}
;
153
154
155 // /对象操作
156 var Sams_object = {
157
158/**//*创建一个DIV对象
159@ID要创建的对象ID
160@ClassName创建对象的Class
161@SetValue设置该对象值
162@ToDiv将对象追加到指定的对象,如指定的对象不存在,则追加在Body的后面
163返回创建后的对象
164*/

165CreateDiv:function(ID,ClassName,SetValue,ToDiv){
166varcreatediv=document.createElement('div');
167if(ID!=null)creatediv.id=ID;
168creatediv.style.position='absolute';
169if(ClassName!=null)creatediv.className=ClassName;
170if(this.Get(ToDiv))
171{
172this.Get(ToDiv).appendChild(creatediv);
173}

174else
175{
176document.getElementsByTagName('body')[0].appendChild(creatediv);
177}

178this.SetValue(ID,SetValue);
179returnthis.Get(ID);
180}
,
181
182/**//*删除指定DIV对象
183@objid要删除的对象ID
184返回Bool操作结果
185*/

186DeleteDiv:function(objid)
187{
188try
189{
190if(this.Get(objid))
191{
192varGetParent=this.Get(objid).parentNode;
193GetParent.removeChild(this.Get(objid));
194returntrue;
195}

196else
197{
198returnfalse;
199}

200}

201catch(e)
202{
203returnfalse;
204}

205}
,
206
207/**//*获取浏览器对象
208@id要获取的对象ID
209可以使用对象名集合,返回值为对象的集合
210*/

211Get:function(objid){
212if(arguments.length>1){
213for(vari=0,objids=[],length=arguments.length;i<length;i++)
214objids.push(this.Get(arguments[i]));
215returnobjids;
216}

217if(typeofobjid=='string')
218{
219if(document.getElementById){
220objid=document.getElementById(objid);
221}
elseif(document.all){
222objid=document.all[objid];
223}
elseif(document.layers){
224objid=document.layers[objid];
225}

226}

227returnobjid;
228}
,
229
230/**//*获取对象的值
231@objid对象ID
232*/

233GetValue:function(objid){
234if(typeofobjid=='string')
235{
236vargetTagName=this.Get(objid).tagName.toLowerCase();
237if(getTagName=='input'||getTagName=='textarea'||getTagName=='select')
238{
239returnthis.Get(objid).value;
240}

241elseif(getTagName=='div'||getTagName=='span')
242{
243returnthis.Get(objid).innerText;
244}

245}

246elseif(typeofobjid=='object')
247{
248returnobjid.value;
249}

250}
,
251
252/**//*设置指定对象的值,实现可以直接赋值或清除操作
253@objid对象ID
254@inserValue传入值(可选项Null:清除该ID的值,则直接赋值)
255*/

256SetValue:function(objid,inserValue){
257vargetTagName=this.Get(objid).tagName.toLowerCase();
258if(inserValue==null)inserValue='';
259if(getTagName=='input'||getTagName=='textarea')
260{
261this.Get(objid).value=inserValue;
262}

263elseif(getTagName=='div'||getTagName=='sapn')
264{
265
266this.Get(objid).innerText=inserValue;
267}

268}
,
269
270/**//*拷贝对象值到剪贴板
271@str对象值
272*/

273CopyCode:function(str){
274varrng=document.body.createTextRange();
275rng.moveToElementText(str);
276rng.scrollIntoView();
277rng.select();
278rng.execCommand("Copy");
279rng.collapse(false);
280}
,
281
282/**//*显示隐藏一个对象
283@Objid对象ID
284@isshow具体操作,指定Obj为False:none或者True:block(可选)
285*/

286ShowHidd:function(objid,isshow){
287if(isshow!=null)
288{
289if(isshow)
290{
291this.Get(objid).style.display='block';
292}

293else
294{
295this.Get(objid).style.display='none';
296}

297}

298else
299{
300if(this.Get(objid).style.display=='none')
301{
302this.Get(objid).style.display='block';
303}

304else
305{
306this.Get(objid).style.display='none';
307}

308}

309}
,
310
311/**//*当前对象是否可见
312@objid对象ID
313*/

314IsVisible:function(objid){
315if(this.Get(objid))
316{
317try
318{
319if(this.Get(objid).style.display=='none')
320{
321returnfalse
322}

323if(this.Get(objid).style.visibility=='hidden')
324{
325returnfalse;
326}

327returntrue;
328}

329catch(e)
330{
331returnfalse;
332}

333}

334else
335{
336returnfalse;
337}

338}

339}
;
340
341 // /字符处理
342 var Sams_string = {
343/**//*取左边的指定长度的值
344@str要处理的字符集
345@n长度
346*/

347Left:function(str,n)
348{
349if(str.length>0)
350{
351if(n>str.length)n=str.length;
352returnstr.substr(0,n)
353}

354else
355{
356return;
357}

358}
,
359
360/**//*取右边的指定长度的值
361@str要处理的字符集
362@n长度
363*/

364Right:function(str,n)
365{
366if(str.length>0)
367{
368if(n>=str.length)returnstr;
369returnstr.substr(str.length-n,n);
370}

371else
372{
373return;
374}

375}
,
376
377/**//*Trim:清除两边空格
378@str要处理的字符集
379*/

380Trim:function(str)
381{
382if(typeofstr=='string')returnstr.replace(/(^/s*)|(/s*$)/g,'');
383}
,
384
385/**//*LTrim:清除左边的空格
386@str要处理的字符集
387*/

388Ltrim:function(str)
389{
390if(typeofstr=='string')returnstr.replace(/(^/s*)/g,'');
391}
,
392
393/**//*RTrim:清除右边的空格
394@str要处理的字符集
395*/

396Rtrim:function(str)
397{
398if(typeofstr=='string')returnstr.replace(/(/s*$)/g,'');
399}
,
400
401/**//*清除前后的非字符
402@str要处理的字符集
403*/

404strip:function(str){
405if(typeofstr=='string')returnstr.replace(/^/s+/,'').replace(/(^/s*)|(/s*$)/g,'');
406}
,
407
408/**//*过滤字符里面的HTML标签
409@str要处理的字符集
410*/

411stripTags:function(str){
412if(typeofstr=='string')returnstr.replace(/<//?[^>]+>/gi,'').replace(/(^/s*)|(/s*$)/g,'');
413}

414}
;
415
416 // /时间相关操作
417 var Sams_time = {
418/**//*获取当天日期yyyy-MM-dd*/
419GetDateNow:function(){
420vard,y,m,dd;
421d=newDate();
422y=d.getYear();
423m=d.getMonth()+1;
424dd=d.getDate();
425returny+"-"+m+"-"+dd;
426}
,
427
428/**//*获取指定日期后的特定天数的日期值
429@toDate当前指定的日期
430@N要添加的日期数
431*/

432AddDays:function(toDate,N){
433varaDate=this._cvtISOToDate(toDate);
434if(!aDate)return"";
435varmillis=86400000*N;
436aDate=newDate(aDate.getTime()+millis);
437returnthis._fmtDateISO(aDate);
438}
,
439_fmtDateISO:function(aDate){
440with(aDate){
441varmm=getMonth()+1;
442if(mm<10){mm='0'+mm;}
443vardd=getDate();
444if(dd<10){dd='0'+dd;}
445return(getFullYear()+'-'+mm+'-'+dd);
446}

447}
,
448_cvtISOToDate:function(isoDate){
449varatomDate=isoDate.split('-');
450varaDate=newDate(parseInt(atomDate[0],10),parseInt(atomDate[1],10)-1,parseInt(atomDate[2],10),6,0,0);
451returnaDate;
452}

453}
;
454
455 // /图像相关操作
456 var Sams_media = {
457/**//*为单一图像添加鼠标中键放大缩小功能,批量可以直接用ResizeImage(指定添加该功能的图片大小:Int)即可(该功能只适用于IE)
458objid对象ID
459*/

460ZoomFun:function(objid){
461Sams_object.Get(objid).onmousewheel=function(){returnSams_media.imagecontrol(this);}
462}
,
463
464/**//*重置图片尺寸同时添加放大功能(该功能只适用于IE)
465@IntSize指定图像的大小
466如果适合图像大小就添加放大缩小功能
467*/

468ResizeImage:function(IntSize){
469varimgsinlog=document.getElementsByTagName('img');
470for(j=0;j<imgsinlog.length;j++){
471if(imgsinlog[j].width>=IntSize){
472imgsinlog[j].width=IntSize;
473imgsinlog[j].style.cursor='pointer';
474imgsinlog[j].onclick=function(){window.open(this.src);}
475if(navigator.userAgent.toLowerCase().indexOf('ie')>-1){
476imgsinlog[j].title='您可以用鼠标中键或者使用Ctrl+鼠标滚轮缩放图片,点击图片可在新窗口打开';
477imgsinlog[j].onmousewheel=function(){returnSams_media.imagecontrol(this);};
478}

479else
480{
481imgsinlog[j].title='点击图片可在新窗口打开';
482}

483}

484}

485}
,
486imagecontrol:function(obj){
487varzoom=parseInt(obj.style.zoom,10)||100;zoom+=event.wheelDelta/12;
488if(zoom>0)obj.style.zoom=zoom+'%';
489returnfalse;
490}
,
491
492/**//*如果图像出现下载不了等异常,显示的错误提示图片
493@errimgpath显示错误提示的图像路径
494*/

495ImagesError:function(errimgpath){
496varimglist=document.getElementsByTagName('img');
497for(j=0;j<imglist.length;j++){
498imglist[j].onerror=function(){
499this.src=errimgpath;
500}

501}

502}
,
503
504/**//*显示媒体
505@mFile文件路径
506@mFileType文件类型(可为空,如为Flash,要指定为swf类型)
507@ObjID对象ID
508@mWidth显示的对象宽度
509@mHeight显示对象的高度
510注:可以指定对象的ID,如果ID不存在,会自动创建,追加在Body后面
511*/

512ShowMedia:function(mFile,mFileType,ObjID,mWidth,mHeight){
513varmediaStr;
514switch(mFileType){
515case"swf":
516mediaStr="<objectcodeBase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0'classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000'width='"+mWidth+"'height='"+mHeight+"'><paramname='movie'value='"+mFile+"'><paramname='quality'value='high'><paramname='AllowScriptAccess'value='never'><embedsrc='"+mFile+"'quality='high'pluginspage='http://www.macromedia.com/go/getflashplayer'type='application/x-shockwave-flash'width='"+mWidth+"'height='"+mHeight+"'></embed></OBJECT>";
517break;
518default:
519mediaStr="<objectwidth='"+mWidth+"'height='"+mHeight+"'classid='CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6'><paramname='url'value='"+mFile+"'/><embedwidth='"+mWidth+"'height='"+mHeight+"'type='application/x-mplayer2'src='"+mFile+"'></embed></object>";
520}

521
522varmediaDiv=Sams_object.Get(ObjID);
523
524if(mediaDiv){
525mediaDiv.innerHTML=mediaStr;
526}

527else
528{
529mediaDiv=document.createElement("div");
530mediaDiv.id=ObjID;
531mediaDiv.innerHTML=mediaStr;
532document.getElementsByTagName('body')[0].appendChild(mediaDiv);
533}

534returnfalse;
535}

536}
;
537
538 // /样式相关操作
539 var Sams_style = {
540/**//*改变字体大小
541@objid对象ID
542@size字号
543*/

544doZoom:function(objid,size){
545Sams_object.Get(objid).style.fontSize=size+'px';
546}
,
547
548/**//*改变指定对象样式
549@objid对象ID
550@className要更改的ClassName
551*/

552ClassName:function(objid,className){
553Sams_object.Get(objid).className=className;
554}
,
555
556/**//*对象定位
557@obj要定位的对象
558返回X.Y结果的数组对象
559*/

560GotoXY:function(obj){
561vart=obj.offsetTop;
562varl=obj.offsetLeft;
563while(obj=obj.offsetParent){
564t+=obj.offsetTop;
565l+=obj.offsetLeft;
566}

567returnArray(t,l);
568}

569}
;
570
571 // /科学计算
572 var Sams_account = {
573/**//*逢1进10计算
574@数值
575*/

576GetTen:function(i)
577{
578varitems_One,Get_One;
579if(i.length>1&&(/^/d+$/.test(i)))
580{
581items_One=i.substr(0,i.length-1);
582Get_One=i.substr(i.length-1,1);
583if(parseInt(Get_One)>0)
584{
585items_One=parseInt(items_One)+1;
586items_One=items_One+'0';
587}

588else
589{
590items_One=items_One+'0';
591}

592}

593else
594{
595items_One=i;
596}

597returnitems_One;
598}

599}
;
600
601 // /数据验证(所有数值返回值均为Bool型)
602 var Sams_validate = {
603/**//*是否是数字型数据
604@str字符集
605*/

606IsNumber:function(str){
607if(/^/d+$/.test(str)){returntrue;}else{returnfalse;}
608}
,
609
610/**//*是否是数字型数据
611@objid对象ID
612*/

613IsNumberObj:function(objid){
614returnthis.IsNumber(Sams_object.GetValue(objid));
615}
,
616
617/**//*是否是自然数型数据
618@str字符集
619*/

620IsInt:function(str){
621if(/^(/+|-)?/d+$/.test(str)){returntrue;}else{returnfalse;}
622}
,
623
624/**//*是否是自然数型数据
625@objid对象ID
626*/

627IsIntObj:function(objid){
628returnthis.IsInt(Sams_object.GetValue(objid));
629}
,
630
631/**//*是否是中文字符
632@str字符集
633*/

634IsChinese:function(str)
635{
636if(/^[/u4e00-/u9fa5]+$/.test(str)){returntrue;}else{returnfalse;}
637}
,
638
639/**//*是否是中文字符
640@objid对象ID
641*/

642IsChineseObj:function(objid)
643{
644returnthis.IsChinese(Sams_object.GetValue(objid));
645}
,
646
647/**//*是否为英文字母
648@str字符集
649*/

650IsLower:function(str)
651{
652if(/^[A-Za-z]+$/.test(str)){returntrue}else{returnfalse;}
653}
,
654
655/**//*是否为英文字母
656@objid对象ID
657*/

658IsLowerObj:function(objid)
659{
660returnthis.IsLower(Sams_object.GetValue(objid));
661}
,
662
663/**//*是否为正确的网址
664@str字符集
665*/

666IsUrl:function(str)
667{
668varmyReg=/^((http:[/][/])?/w+([.]/w+|[/]/w*)*)?$/;
669if(myReg.test(str)){returntrue;}else{returnfalse;}
670}
,
671
672/**//*是否为正确的网址
673@objid对象ID
674*/

675IsUrlObj:function(objid)
676{
677returnthis.IsUrl(Sams_object.GetValue(objid));
678}
,
679
680/**//*是否为正确的Email形式
681@str字符集
682*/

683IsEmail:function(str)
684{
685varmyReg=/^([-_A-Za-z0-9/.]+)@([_A-Za-z0-9]+/.)+[A-Za-z0-9]{2,3}$/;
686if(myReg.test(str)){returntrue;}else{returnfalse;}
687}
,
688
689
690/**//*是否为正确的Email形式
691@objid对象ID
692*/

693IsEmailObj:function(objid)
694{
695returnthis.IsEmail(Sams_object.GetValue(objid));
696}
,
697
698/**//*是否为正确的手机号码
699@str字符集
700*/

701IsMobile:function(str)
702{
703varregu=/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;
704varre=newRegExp(regu);
705if(re.test(str)){returntrue;}else{returnfalse;}
706}
,
707
708/**//*是否为正确的手机号码
709@objid对象ID
710*/

711IsMobileObj:function(objid)
712{
713returnthis.IsMobile(Sams_object.GetValue(objid));
714}

715}
;
716
717 /**/ /*
718实现Ajax功能
719Sams_ajax.SendRequest('GET',url,null,recall,"addtohome");
720Sams_ajax.SendRequest('GET',url,null,null);
721obj.responseText;
722*/

723 var Sams_ajax = {
724_objPool:[],
725_getInstance:function(){
726for(vari=0;i<this._objPool.length;i++){
727if(this._objPool[i].readyState==0||this._objPool[i].readyState==4){
728returnthis._objPool[i];
729}

730}

731this._objPool[this._objPool.length]=this._createObj();
732returnthis._objPool[this._objPool.length-1];
733}
,
734_createObj:function(){
735if(window.XMLHttpRequest){
736varobjXMLHttp=newXMLHttpRequest();
737}

738else{
739varMSXML=['MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
740for(varn=0;n<MSXML.length;n++){
741try{
742varobjXMLHttp=newActiveXObject(MSXML[n]);
743break;
744}

745catch(e){
746}

747}

748}

749if(objXMLHttp.readyState==null){
750objXMLHttp.readyState=0;
751objXMLHttp.addEventListener("load",function(){
752objXMLHttp.readyState=4;
753if(typeofobjXMLHttp.onreadystatechange=="function"){
754objXMLHttp.onreadystatechange();
755}

756}
,false);
757}

758returnobjXMLHttp;
759}
,
760
761///开始发送请求
762SendRequest:function(method,url,data,callback,funparam,funparam2){
763varobjXMLHttp=this._getInstance();
764with(objXMLHttp){
765try{
766if(url.indexOf("?")>0){
767url+="&randnum="+Math.random();
768}

769else{
770url+="?randnum="+Math.random();
771}

772open(method,url,true);
773setRequestHeader('Content-Type','application/x-www-form-urlencoded;charset=UTF-8');
774send(data);
775onreadystatechange=function(){
776if(objXMLHttp.readyState==4&&(objXMLHttp.status==200||objXMLHttp.status==304))
777{
778callback(objXMLHttp,funparam,funparam2);
779}
else{
780callback(null,funparam,funparam2);
781}

782}

783}

784catch(e){
785alert(e);
786}

787}

788}

789}
;
790
791 // /Cookies操作
792 var Sams_cookies = {
793/**//*cookies设置函数
794@nameCookies名称
795@value值
796*/

797setCookie:function(name,value)
798{
799try
800{
801varargv=setCookie.arguments;
802varargc=setCookie.arguments.length;
803varexpires=(argc>2)?argv[2]:null;
804if(expires!=null)
805{
806varLargeExpDate=newDate();
807LargeExpDate.setTime(LargeExpDate.getTime()+(expires*1000*3600*24));
808}

809document.cookie=name+"="+escape(value)+((expires==null)?"":(";expires="+LargeExpDate.toGMTString()));
810returntrue;
811}

812catch(e)
813{
814returnfalse;
815}

816}
,
817
818/**//*cookies读取函数
819@NameCookies名称
820返回值Cookies值
821*/

822getCookie:function(Name)
823{
824varsearch=Name+"="
825if(document.cookie.length>0)
826{
827offset=document.cookie.indexOf(search)
828if(offset!=-1)
829{
830offset+=search.length
831end=document.cookie.indexOf(";",offset)
832if(end==-1)end=document.cookie.length
833returnunescape(document.cookie.substring(offset,end))
834}

835else
836{
837return;
838}

839}

840}

841}
;
842
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值