12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946 |
- /**
- * 弹出1473窗体,需要删除。
- * UDPD 父亲元素
- *{object} UDE 放置窗体STYLE的地方
- * {int}UDE参数 [ "Embed": 是否是Iframe,
- * "Top": 偏移高, "Left": 偏移左, "Width": 长度, "Height": 高度,
- * "ContainerId": id, "titleName": 标题, "ContentId": 内容区Id, "Content": 内容,
- * "hasScroll": 内容区是否滚动, "hasMax": 是否允许放大, "hasMin": 是否允许缩小,
- * "hasDraw": 是否拉伸, "CStyle": 内容区样式, "IsR":是否移除关闭按钮
- * ]
- * UCBF 单击确认的回调函数 UCNF 单击取消的回调函数
- * @returns _UDOD 返回ID为U_COF的对象
- **/
- U.UF.UI.UForms = function (UDE, UDPD) {
- UDPD = UDPD || document.body; //选择是否有父亲元素,没有则BODY为父亲元素
- var i, _UIT, _UDOD, _UDTD, _UDSD, _UDCD, _UDED, _UAE, _UBE = [/%/, ["Width", "Height", "Top", "Left"]],
- _UCE = [ //绑定传入数据简写
- ["H", "up"],
- ["HL", "topRight"],
- ["HR", "topleft"],
- ["ML", "left"],
- ["MR", "right"],
- ["B", "down"],
- ["BL", "bottomLeft"],
- ["BR", "bottomRight"]
- ];
- for (i = 0; i < _UBE[1].length; i++) { //使用for循环绑定所传style
- _UBE[0].test(UDE[(_UIT = _UBE[1][i])]) && (UDE[_UIT] = US[{
- "Left": "Width",
- "Top": "Height"
- }[_UIT]] * UDE[_UIT].toInt() / 100)
- }
- _UDOD = $$("div", { //创建窗体
- "className": "UD_W UD_UIU",
- "id": UDE.ContainerId,
- "style": {
- "width": UDE.Width + "px",
- "height": UDE.Height + "px",
- "left": UDE.Left + "px",
- "top": UDE.Top + "px"
- }
- });
- $$("div", { "className": "UD_ICON UD_ICONl"}, _UDOD);//创建窗体的头
- _UDTD = $$("div", { //创建窗体的子集
- "className": "UD_WIMG UD_W_TB",
- "style": {
- "width": (UDE.Width - 30) + "px"
- },
- "onmousedown": [
- [U.UF.F.DragMouseDown, [_UDOD]]
- ]
- }, _UDOD);
- $$("span", {"className": "UD_W_TB_T","innerHTML": UDE.titleName}, _UDTD); //span存放文字地方
- _UDSD = $$("div", {"className": "UD_W_TB_WM"}, _UDTD); //创建存放对象
- $$("span", { //关闭窗口元素
- "title": "关闭",
- "className": "UD_ICON UD_W_TB_WM_Close",
- "onmousedown": U.UF.EV.stopBubble,
- "onclick": [
- [U.UF.F.closeWindow, [_UDOD, (UDE.IsR ? "remove" : "")]]
- ]
- }, _UDSD)
- $$("div", {"className": "UD_ICON UD_ICONR"}, _UDOD); //创建对象
- _UDCD = $$("div", { //创建格式对象
- "className": "UD_WIMG UD_ICONz",
- "style": {
- "height": UDE.Height - 36 + "px"
- },
- "onmousedown": U.UF.EV.stopBubble
- }, _UDOD);
- _UDED = $$("div", { //创建格式对象
- "id": UDE.ContainerId + "Content",
- "className": "UD_W_WC",
- "style": {
- "cssText": "height:100%;" + UDE.CStyle
- }
- }, _UDCD);
- if (UDE.Embed == 0) { //添加内容区域
- $$("iframe", {//设定内容初始值
- "id": UDE.ContentId,
- "name": UDE.ContentId,
- "frameBorder": 0,
- "scrolling": UDE.hasScroll,
- "src": UDE.Content,
- "width": "100%",
- "height": "100%"
- }, _UDED);
- } else {
- U.selectEl(_UDED).append(UDE.Content);
- }
- //事件区域
- _UAE = {
- "with": [{ //事件区域高度
- "Element": _UDCD,
- "height": -36
- }, { //事件区域宽度
- "Element": _UDTD,
- "height": 0,
- "width": -30
- }]
- }
- if (UDE.hasDraw) {
- for (i = 0; i < _UCE.length; i++) {
- $$("span", {
- "className": "UD_W_WT_" + _UCE[i][0],
- "onmousedown": [
- [U.UF.F.RCDG, [_UDOD, _UCE[i][1], _UAE]]
- ]//鼠标按中时发生事件,改变窗体。
- }, _UDOD);
- }
- } //允许拉伸
- (UDE.hasMax) && ($$("span", { //最大化拉伸
- "title": "最大化",
- "className": "UD_ICON UD_W_TB_WM_Max",
- "onmousedown": U.UF.EV.stopBubble,
- "onclick": [
- [U.UF.F.windowZooming, [_UDOD, this, _UAE, _UDTD, {
- "onmousedown": _UDTD.onmousedown
- }]]
- ]
- }, _UDSD));
- (UDE.hasMin) && ($$("span", { //最小化拉伸
- "title": "最小化",
- "className": "UD_ICON UD_W_TB_WM_Min",
- "onmousedown": U.UF.EV.stopBubble,
- "onclick": [
- [U.UF.F.windowMinimize, [_UDOD]]
- ]
- }, _UDSD));
- _UDTD.onmousedown = (UDE.Width == US.width && UDE.Height == US.height) ? U.UF.C.apply(this[[U.UF.F.DragElement, [_UDOD, null, _UAE, _UDTD, {
- "onmousedown": _UDTD.onmousedown
- }])]] : _UDTD.onmousedown;
- (UDPD) && (UDPD.appendChild(_UDOD));
- U.UF.SI[UDE.Left || UDE.Top ? "SetDTop" : "PopupWindow"](_UDOD);
- return _UDOD; //添加
- }
- /**
- * 创建1473窗体
- * UDPD 父亲元素
- * {int} UDOD主体元素, UTE标题, UDID id, UST表示内容 ,UCS css样式 UW, UH长。
- **/
- U.UF.UI.SUForms = function (UDOD, UTE, UDID, UST, UCS, UW, UH) {
- var _UDW = US.width,
- _UDH = US.height;
- return U.UF.UI.UForms({ //返回属性
- "Embed": 1,
- "Top": (_UDH - UH - 50) / 2,
- "Left": (_UDW - UW) / 2,
- "Width": UW,
- "Height": UH,
- "ContainerId": UDID,
- "titleName": UTE,
- "ContentId": "",
- "Content": UST,
- "hasScroll": "no",
- "hasMax": false,
- "hasMin": false,
- "hasDraw": false,
- "CStyle": UCS,
- "IsR": true
- }, UDOD);
- }
- // getStartE: function () {
- // if (window.getSelection) { //Html5
- // return this.R.startContainer;
- // }
- // else {
- // var _UDOD = this.Parent();
- // }
- // },
- // getEndE: function () {
- // if (window.getSelection) {
- // return this.R.endContainer;
- // } //Html5
- // else {
- // var _UDOD = this.Parent();
- // }
- // },
- // selectAll: function () { },
- //富文本编辑器
- U.UF.E.RuchEditor = function (UDE) {
- U.UF.UI.Editor((U.UF.C.isFunction(UDE) || !UDE) ? { head: true, style: { width: "600px", height: "500px" }, title: false, name: "在线编辑", fcb: UDE} : UDE);
- }
- //上传文件成功显示到制定的区域
- U.UF.E.AddUPWJ = function (UTE, UDBD) {
- var _UDOD, _UDTD, _UDSD, _UIID = Guid.newGuid().replace(/-/g, ""),
- _UME = U.UF.UP.XWPGYS(UTE["type"]);
- if (_UME[2]) { //普通文件上传显示
- _UDOD = $$("div", { "contentEditable": "false", "className": "UD_UPO", "onclick": [[]] });
- _UDTD = $$("div", { "contentEditable": "false", "className": "UD_UPOL" }, _UDOD);
- $$("div", { "contentEditable": "false", "className": "UD_SYVCOI UD_SYID " + _UME[0] }, _UDTD);
- _UDSD = $$("div", { "contentEditable": "false", "className": "UD_UPOR" }, _UDTD);
- $$("div", { "contentEditable": "false", "innerHTML": UTE["name"], "className": "UD_UPORN" }, _UDSD);
- $$("div", { "contentEditable": "false", "innerHTML": "下载", "className": "UD_UPORX" }, _UDSD);
- $$("div", { "contentEditable": "false", "innerHTML": "保存到网盘", "className": "UD_UPORB" }, _UDSD);
- if (UIMG) { _UDTD = UDBD.parentNode; _UDTD.replaceChild(_UDOD, UDBD); }
- }
- else { //图片区域
- if (UDBD) {
- U.UF.IMG.imgReady(U.MD.C.getHeadImage(US.FILESYSTEMURL + UTE["URL"]), null, function(){U.UF.E.ImgOnLoad(UDBD]]]), U.UF.C.apply(null, [[U.UF.E.ImgOnLoad, [);});
- } //加载原图
- else {
- var _UIID = Guid.newGuid().replace(/-/g, ""); _UDOD = $$("img", { "id": _UIID, "src": "/img/imgloading.gif", "onmousedown": "return false", "onselectstart": "return false", "ondragstart": "return false", "style": { "cssText": "max-width:100%;width:auto;height:auto;"} });
- } //正在上传等待
- }
- }
- //上传图片预加载成功或者失败
- U.UF.E.ImgOnLoad = function (UIID) {
- if (UIID) {
- U.selectEl(UIID).addAttrArray({ "onload": "if (U.MD.F) { U.MD.F.H.SUIMG(retElement); }", "src": this.src, "width": this.width, "height": this.height });
- }
- else {
- U.MD.C.imgError(this, 2);
- }
- }
- /**
- * 创建群组
- *
- * @param {object} 群信息
- */
- U.MD.F.J.APPGroup = function (UDE) {
- // U.MD.F.J.GroupInfoForm(UDE, null);
- // var _UTE,
- // _UDFD = $$("div", {}, U.selectEl("#UD_SY")[0]),
- // _UDMD = U.MD.F.J.GroupInfoForm(UDE, null, _UDFD), //插入添加创建群信息
- // _UDTD = U.MD.F.J.SelectFriendForm($("#UD_SYTC")[0], null, _UDFD); //插入添加好友的信息
- // //设置样式处理
- // $[_UDMD.form, _UDTD.form].addAttrArray({ onmousedown: null, "className": "UD_SYF_S", "style": { "border": "0", "position": "relative", "float": "left", "top": "0", "left": "0"} });
- // _UDMD.head.onmousedown = _UDTD.head.onmousedown = null;
- // _UDMD.form.style.borderRight = "1px solid #444";
- // //弹出添加群的框
- // _UTE = new U.UF.UI.form({ id: "U_F_CONET", isContain: false, content: _UDFD, bst: { "style": { "overflow": "hidden"} },
- // "style": { "width": "736px", "height": "485px", "backgroundColor": "transparent", "overflow": "hidden" },
- // title: false, draw: false, max: false, close: false, min: false
- // });
- // _UDMD.cl.onclick = _UDTD.cl.onclick = U.UF.C.apply(_UTE, [[_UTE.shut]]); //关闭按钮处理
- }
- /**
- * word编辑处理 不使用
- *
- */
- U.MD.O.Del = function (UTE) {
- // var i, j, k, _UTF, _UDMD, _UKE = [], _UVE = [], _UCE = ["nodeValue", "innerHTML"], _UAE = ["width", "height", "minHeight", "minWidth"], _UDOD = $$("div", { "innerHTML": UTE.GetSelectedHtml() }), _UDCD = U.selectEl(_UDOD).Nodes(), _UIE = UTE.GetGBWZ(), _UDPD = UTE.Parent(), _UDAD = U.selectEl(_UDPD).Nodes(), _UTH = (_UDPD.nodeValue == null ? _UDPD.innerText : _UDPD.nodeValue).replace(/\s|\n/g, "");
- // if ($(_UDOD).Child().length) {
- // if (_UDPD.nodeType != 3 && UTE.isE(_UDPD)) { _UVE.push(_UDPD); } for (i = 0; i < _UDAD.length; i++) { if (_UDAD[i].nodeType != 3 && UTE.isE(_UDAD[i])) { _UVE.push(_UDAD[i]); }; }
- // for (k = 0; k < Math.min(_UVE.length, 2); k++) {
- // _UDMD = _UVE; j = k ? _UDMD.length - 1 : 0;
- // do { if (UTE.isE(_UDMD[j])) { _UDCD = _UDMD[j]; _UDMD = U.selectEl(_UDCD).Nodes(); j = j = k ? _UDMD.length : -1; } } while ((k ? ((j -= 1) > -1) : ((j += 1) < _UDMD.length)));
- // if (_UDCD) { for (i = 0; i < _UCE.length; i++) { if (_UDCD[_UCE[i]] != null) { _UDCD[_UCE[i]] = _UDCD[_UCE[i]].substring.apply(_UDCD[_UCE[i]], k ? [(UTE.GetGBWZ(_UDCD, !k))] : [0, (UTE.GetGBWZ(_UDCD, !k))]); break; } } _UKE.push(_UDCD); }
- // }
- // for (i = 0; i < _UVE.length; i++) {
- // _UDCD = U.selectEl("*", _UVE[i]);
- // if (_UDCD.length) {
- // for (j = 0; j < _UDCD.length; j++) {
- // // for (k = 0; k < _UAE.length; k++) { if ((_UTF = _UDCD[j].style[_UAE[k]]) && _UTF != "auto") { break; } }
- // if ((k != _UAE.length || (_UDCD[j].className || _UDCD[j].id))) {
- // if (!$(_UDCD[j]).Child().length) {
- // for (k = 0; k < _UCE.length; k++) {
- // if (_UDCD[j][_UCE[k]] != null && (!_UKE[0] || !U.UF.EL.isChild(_UDCD[j], _UKE[0])) && (!_UKE[1] || !U.UF.EL.isChild(_UDCD[j], _UKE[1]))) { _UDCD[j][_UCE[k]] = ""; break; }
- // }
- // }
- // }
- // else if (_UDCD[j] != _UKE[0] && _UDCD[j] != _UKE[1] && !_UDCD[j].innerHTML) { U.selectEl(_UDCD[j]).remove(); }
- // }
- // }
- // else { for (i = 0; i < _UKE.length; i++) { if (!U.UF.EL.isChild(_UVE[i], _UKE[i])) { if (_UVE[i].className || _UVE[i].id) { U.selectEl(_UVE[i]).remove(); } else { _UVE[i].innerTEXT = ""; } break; } } }
- // }
- // UTE.R.collapse(false); return _UKE;
- // }
- }
- U.MD.O.OLWordUP = function (UTF, UDE, UTE, UT, UWE) {
- // var i, _USE, _UCE = ["nodeValue", "innerHTML"], _UIE = UTE.GetGBWZ(), _UDPD = UTE.Parent(), _UTH = (_UDPD.nodeValue == null ? _UDPD.innerText : _UDPD.nodeValue).replace(/\s|\n/g, "");
- // if (!U.UF.C.isString(UTF) && (!UT[1] && !UT[2] && !UT[3])) {
- // if (((UT[0] > 47 && UT[0] < 112) || (UT[0] > 185 && UT[0] < 193) || (UT[0] > 218 && UT[0] < 223))) {
- // if ((_USE = U.MD.O.Del(UTE)) && _USE[0]) { UTE.QX(-1, -1, _USE[0]); }
- // }
- // }
- // else {
- // switch (UTF) {
- // case "del": case "Backspace":
- // if ((_USE = U.MD.O.Del(UTE)) && _USE[0]) { return 1; }
- // else if (_UDPD.className) { if ((!_UIE && UTF == "Backspace") || (_UIE == _UTH.length && UTF == "del")) { return 1; } else if (_UTH.length == 1 && _UTH != "") { _UDPD.innerText = ""; return 1; } else if (!_UTH.length) { return 1; } }
- // break;
- // case "Enter":
- // if (_UDPD.nodeType != 3) {
- // if (("DIV,SPAN,P".indexOf(_UDPD.tagName) == -1 && _UDPD.className.indexOf("return_key") > -1)) { return 1; }
- // else if (_UDPD.style.cssText) { UTE.Replace("<div>​</div>"); return 1; }
- // }
- // break;
- // case "save":
- // (UWE.U.MD.O.W || UWE.U.MD.O.E).Save(); return 1;
- // break;
- // }
- // }
- }
- //#region 初始化首页
- ///**
- //* 初始化首页
- //*
- //* @param {object} 任务栏数据
- //*/
- //U.MD.D.H.SYTJ = function (UDE) {
- // if (UDE) { //打印推荐用户
- // U.MD.D.H.PSYTJN($("#UD_SYSXSSXOC")[0], UDE);
- // }
- // else {
- // U.A.Request(US.CD, [US.DB, "UseStudio_Friends", "RecommendFriends", US.userInfo.userid || US.EMPTYGUID, 0, 11]), U.MD.D.H.AsynSYTJ, [""];
- // }
- //}
- ///**
- //* 首页推荐数据异步推荐
- //*
- //* @param {object} 任务栏数据
- //*/
- //U.MD.D.H.AsynSYTJ = function (r) {
- // U.MD.D.H.ET["TJ"] = r = r.value;
- // U.MD.D.H.SYTJ(r);
- //}
- ///**
- //* 打印首页推荐好友New
- //*
- //* @param {object} 任务栏数据
- //*/
- //U.MD.D.H.PSYTJN = function (UDOD, UDE, UTF, UP) {
- // var i, _UDSD = $$("frag"); UDOD.innerText = "";
- // for (i = 0; i < UDE.length; i++) {
- // $$("img", { "onerror": U.MD.C.imgError, "title": UDE[i].UserName, "alt": UDE[i].UserName, "onclick": function(){U.MD.U.V.ViewOtherUserInfo(UDE[i].UserID);}, "src": U.MD.C.getHeadImage(UDE[i].UserThumbnailImageHead) }, _UDSD);
- // }
- // (UTF) && ($$("div", { "className": "UD_SYSXLTTI UD_SYSXLTTIO U_Boom_Img_ys2017", "title": "点击刷新", "onclick": function(){U.MD.D.H.SXZX(UP || 2, this, 28, function(){U.MD.D.H.PSYTJNSX(UTF);});} }, _UDSD)); UDOD.appendChild(_UDSD);
- //}
- //#endregion
- /*
- Form窗体的使用
- 1、可以像java语言的用法,用new调用多份,例如: var a=new new U.UF.UI.form();
- 2、也可以省略new的步骤,直接U.Alert(),出来的结果为多份。
- 3、多窗口模式调用方法,var e= U.UF.UI.form (UDE); e.addExtendForm();
- 参数一:_UFE[add "name":"add"]
- 参数二:_UTT 存放大小变化的值
- 返回值:
- */
- /**
- * 可以像java语言的用法,用new调用多份,例如: var a=new new U.UF.UI.form();
- *
- * @param {object} 窗体使用传参
- ----------min 是否允许最小化
- ----------max 是否允许最大化
- ----------id 窗体id
- ----------style 窗体的样式
- ----------content 窗体的内容
- ----------title 窗体的标题
- ----------hst 标题设置
- ----------cst 内容设置
- ---------__top__ 是否允许点击置顶
- * @return {object} 窗体实体
- */
- U.UF.UI.form = U.UF.UI.form = function (UDE) {
- return new new U.UF.UI.form.init(UDE).create();
- }
- /**
- * 可以像java语言的用法,用new调用多份,例如: var a=new new U.UF.UI.form();
- *
- * @param {object} 窗体使用传参
- ----------min 是否允许最小化
- ----------max 是否允许最大化
- ----------id 窗体id
- ----------style 窗体的样式
- ----------content 窗体的内容
- ----------title 窗体的标题
- ----------hst 标题设置
- ----------bst 内容设置
- ----------draw 是否允许拉伸
- * @return {object} 窗体本身
- */
- new U.UF.UI.form.init = function (UDE) { //初始化
- U.UF.C.AddObj(this, UDE);
- return this;
- }
- new U.UF.UI.form.et = {}; //所有窗体集合
- //窗体使用函数
- new U.UF.UI.form.init.prototype = {
- et: new U.UF.UI.form.et, //所有窗体集合
- //构建元素
- create: function () {
- var i, _USE, _UDOD, _UDTD, _UDSD, _UAE, _UTE = this,
- _UTI = this.title, //标题元素
- _UCT = this.content, //内容元素
- _UCE = [
- ["H", "up"],
- ["HL", "topRight"],
- ["HR", "topleft"],
- ["ML", "left"],
- ["MR", "right"],
- ["B", "down"],
- ["BL", "bottomLeft"],
- ["BR", "bottomRight"]
- ];
- if (this.id && this.et[this.id] && this.et[this.id].form.id == this.id) { //无需创建
- _UTE = this.et[this.id]; //获取当前窗体属性
- _UTE.form.style.cssText = "";
- (_UTE.body) && (_UTE.body.style.cssText = "");
- U.selectEl(_UTE.form).addAttrArray({
- className: this.className ? this.className : "UD_SYF_S UD_SYKO", //css样式名"UD_SYF_S UD_SYKO"
- close: U.UF.C.apply(_UTE, _UTE.shut),
- "__top__": this.top ? "false" : "", //是否允许点击置顶
- "__right__": this.right || "",
- usform: "true", //设置窗体属性
- "id": this.id || "", //绑定继承ID
- "style": this.style || {}
- });
- ($(_UTE.body).addAttrArray(this.bst));
- (_UTI && (_UTE.title = _UTI)) && (U.UF.C.isString(_UTI) ? (_UTE.head.innerHTML = _UTI) : (_UTE.head.innerHTML = "", U.selectEl(_UTE.head).append(_UTI))); //重新设置标题
- (_UCT && (_UTE.content = _UCT)) && (U.UF.C.isString(_UCT) ? ((U.UF.C.isUrl(_UCT)) ? "" : _UTE.body.innerHTML = _UCT) : (($(_UCT).Parent() != _UTE.body) && (_UTE.body.innerText = "", U.selectEl(_UTE.body).append(_UCT)))); //内容设置
- _UDOD = _UTE.form;
- }
- else { //创建窗体
- (this.form = _UDOD = $$("div", { //创建元素
- className: this.className ? this.className : "UD_SYF_S UD_SYKO", //css样式名"UD_SYF_S UD_SYKO"
- close: function(){this.shut();},
- "__top__": this.top ? "false" : "", //是否允许点击置顶
- "__right__": this.right || "",
- usform: "true", //设置窗体属性
- "id": this.id || "", //绑定继承ID
- "style": this.style || {}
- })).onresize = U.UF.C.apply(this, [[this.size]]); //设置元素变化事件
- (this.attr) && ($(this.form).addAttrArray(this.attr));
- if (this.title !== false) {
- this.head = _UDTD = $$("div", {
- className: "UD_SYF_ST",
- onmousedown: function(){U.UF.F.DragMouseDown(_UDOD, null, this);} //窗体拖动//鼠标事件按下发生
- }, _UDOD);
- //重载hst为headerStyle,更加语义化.
- (this.headerStyle) && ($(_UDTD).addAttrArray(this.headerStyle));
- (this.hst) && ($(_UDTD).addAttrArray(this.hst)); //给标题头部添加样式
- (_UTI != null) && ($(_UDTD).append(_UTI)); //添加头部
- } else if (this.draw !== false) {
- _UDOD.onmousedown = function(){U.UF.F.DragMouseDown(_UDOD);}; //窗体拖动
- }
- if (this.content !== false) {//判断元素是否有bst,添加
- _UDTD = $$("div", {
- className: "UD_SYF_SC"
- }, _UDOD);
- this.body = _UDTD = $$("div", {
- usbody: "true",
- className: "UD_SYF_SCO"
- }, _UDTD);
- (this.bst) && ($(this.body).addAttrArray(this.bst));
- U.selectEl(_UDTD).bind("scroll", function(){this.scroll();}); //避免闭包耗费资源。
- //iframe的处理方式
- if (_UCT != null) {
- if (U.UF.C.isUrl(_UCT)) {
- $$("iframe", {
- scrolling: this.Scroll || "no",
- frameBorder: 0,
- width: "100%",
- height: "100%",
- src: _UCT
- }, _UDTD);
- } else if (_UCT) {
- (this.bst) && ($(_UDTD).addAttrArray(this.bst));
- if (U.UF.C.isString()) {//添加内容
- _UDTD.innerHTML = _UCT;
- }
- else {
- U.selectEl(_UDTD).append(_UCT); //添加所选元素
- }
- }
- }
- }
- this.zie = _UAE = {//添加属性size
- fun: function(){this.size();}
- };
- _UDTD = $$("div", {//创建_UDTD添加到_UDOD
- className: "UD_W_WT"//添加CLASS属性
- }, _UDOD);
- if (this.draw !== false) {
- for (i = 0; i < _UCE.length; i++) {
- $$("div", {
- className: "UD_W_WT_" + _UCE[i][0],
- onmousedown: [//鼠标事件
- [U.UF.F.RCDG, [_UDOD, _UCE[i][1], _UAE]]
- ]
- }, _UDTD);
- }
- } //允许拉伸
- U.selectEl(this.SO ? (this.SO[0] || this.SO) : ($("#UD_SY")[0] || document.body)).append(this.form, 0, this.SO ? this.SO[1] : null);
- _USE = this.head ? U.UF.EL.getElementInfo(this.head) : null;
- _UDSD = $$("div", {
- className: "UD_SYF_SCA",
- style: {
- "lineHight": _USE ? _USE.CH + "px" : "",
- "top": _USE ? Math.ceil((_USE.OH - 20) / 2) + "px" : "15px" //定义高度属性为(_USE.OH - 20) / 2
- }
- }, _UDOD); //添加至_UDOD
- //功能将处理
- (this.htask) && ($(_UDSD).addAttrArray(this.htask));
- (this.close !== false) && (this.close = this.close || {}, this.cl = $$("div", {
- className: "UD_SYF_SS U_Boom_Img_ys2017",
- title: "点击关闭",
- onmousedown: U.UF.EV.stopBubble,
- onclick: function(){this.shut();}
- }, _UDSD));
- _USE = this.et[this.id] = this;
- //最大化最小化的按钮
- (this.max !== false) && (this.max = this.max || {}, this.m = _UDTD = $$("div", {
- className: "UD_SYF_SD U_Boom_Img_ys2017",
- title: "最大化",
- onmousedown: U.UF.EV.stopBubble
- }, _UDSD), _UDTD.onclick = U.UF.C.apply(null, [
- [U.UF.F.windowZooming, ([_UDOD, _UDTD, {
- fun: U.UF.C.apply(this, [
- [this.size]
- ])
- }, this.head || _UDOD, {
- "onmousedown": (this.head || _UDOD).onmousedown
- }])]
- ]), (this.head) && (this.head.ondblclick = U.UF.C.apply(this.head, function () {
- (event.srcElement == this || U.UF.EL.isChild(this, event.srcElement)) && (_UDTD.onclick());
- }))); //
- (this.min !== false) && (this.min = this.min || {}, this.mi = $$("div", {
- className: "UD_SYF_SF U_Boom_Img_ys2017",
- title: "最小化",
- onmousedown: U.UF.EV.stopBubble,
- onclick: [
- [U.UF.F.windowMinimize, [_UDOD]]
- ]
- }, _UDSD));
- }
- //不允许拖动设置
- (_UTE.isContain) && (((_UTE.head) && (_UTE.head.onmousedown = null)) || (_UDOD.onmousedown = null)); //$(_UDOD).css({ position: "static" }),
- _UAE = _UTE.style ? [_UTE.style.top, _UTE.style.left] : [];
- //弹出窗体
- (!this.style || this.style.display != "none") && (U.UF.SI[_UAE[0] && (_UAE[0].indexOf("px") > -1 || _UAE[0].indexOf("%") > -1) || _UAE[1] && (_UAE[1].indexOf("px") > -1 || _UAE[1].indexOf("%") > -1) ? "SetDTop" : "PopupWindow"](_UDOD, true));
- _UTE.form = _UDOD;
- //设置置顶
- (_UTE.top) && ($(_UTE.form).css("zIndex", 9999));
- _UTE.size(true);
- return _UTE;
- },
- //关闭窗体
- shut: function () {
- if (!this.close || !this.close.onclick || this.close.onclick(this.form) !== false) {
- U.UF.F.closeWindow(this.form, this.del ? this.del : null); //关闭窗体
- }
- },
- /**
- * 变大缩小适应
- *
- * @param {object} 窗体使用传参
- */
- size: function (UTF) {
- if (this.draw !== false && this.max !== false || this.title !== false) {
- if (!(this.bst && this.bst.height) && this.form.style.height != "auto") { //判断是否为自适应
- var _UH,
- _USE = [this.head ? U.UF.EL.getElementInfo(this.head) : [], U.UF.EL.getElementInfo(this.body)] //获取padding大小
- //|| (US.height * 0.7); //等比例百分比
- if (_UH = U.selectEl(this.form).height()) { U.selectEl(this.body).css("height", _UH - (_USE[0]["OH"] || 0) - (_USE[1]["PD"][0] || 0) - (_USE[1]["PD"][2] || 0) + "px"); } //大小设置
- }
- if (UTF !== true) { //利用回调函数调用
- (!this.TI && this.resize) && (this.resize.call(this, this.form, this.head, this.body)); //回调窗体变化
- clearTimeout(this.TI);
- this.IsSize = true;
- this.TI = setTimeout(function(){this.sizeend();}, 0); //窗体结束调用
- }
- }
- },
- //大小变化结束出发
- sizeend: function () {
- this.TI = null;
- (this.resizeend) && (this.resizeend(this.form));
- },
- //窗体变化
- allSize: function () {
- var i, _UDE = this.et;
- for (i in _UDE) {
- if (_UDE[i].IsSize) {
- _UDE[i].IsSize = false;
- } else {
- _UDE[i].size();
- }
- }
- },
- //滚动使用
- scroll: function () {
- if (this.s || this.ss || this.se) {
- (this.s) && (this.s());
- (!this.iss) && (this.scrollStart());
- this.iss = true; //滚动开始触发
- clearTimeout(this.TI);
- this.TI = setTimeout(function(){this.scrollEnd();}, 0); //触发加载
- }
- },
- //滚动开始
- scrollStart: function () {
- (this.ss) && (this.ss()); //滚动开始回调
- },
- //滚动结束
- scrollEnd: function () {
- (this.se) && (this.se()); //滚动结束回调
- this.iss = false;
- },
- //滚动到底部触发
- scrollBottom: function () {
- },
- //添加属性
- add: function (UDE) {
- U.UF.C.AddObj(this, UDE);
- }
- }
- /**
- * onload成功进入
- * @param {element} 加载的元素
- * @param {function} 回调函数
- */
- //U.UF.DL.iframeLoad.AILD = function (UDOD, cb) {
- // var _URS = UDOD.readyState;
- // (_URS == "complete" || _URS == "loaded" || _URS == null) && (UDOD.complete = "complete", UDOD.onreadystatechange = null, (U.UF.C.isFunction(cb) ? cb.call(UDOD) : function(){cb();}()), UDOD.complete = null);
- //}
- ////判断文件是否存在
- //U.UF.DL.ISWJCZ = function () {
- // $.ajax(UURL, "", cb, "", { "type": "get" });
- //}
- /**
- 设置元素loading
- 问题:
- ----添加一个参数,允许往loading中传递元素。
- ----在第一个loading数据量大未出数据的时候,点第二个loading,第二个先获取到数据,会否第二个会先出效果。
- ----由于第一次点击数据量大,后台是否能够第二个数据先出。
- ----由于第一次点击数据量大,前台loading的效果是否支持第二以及后续点击先出。
- *
- * @param {element} 元素
- * @param {boolean} loading类型
- ------------true 、 false 两种loading
- */
- /*U.UF.DL.loading = function (UDOD, UTF) {
- if (UDOD) {
- var i, _UAE, _UDTD, _UDPD = U.selectEl(UDOD).Parent(),
- _UDSD = UDOD ? UDOD.__ULOADElement__ : null, //该元素的loading元素
- _USE = { width: "", height: "", overflow: "", padding: "", borderWidth: "", minHeight: "", minWidth: "", cssText: "" }; //loading设置样式区域
- if (_UDSD) {//loading存在添加计数
- if (UDOD != _UDSD) { _UDSD.P++; }
- }
- else { //无loading 需要loading的情况
- _UDSD = UDOD.__ULOADElement__ = $$("div", { "P": 0, "className": UDOD.className, //这个为loading元素
- "style": { "cssText": UDOD.style.cssText + ";" + ($(UDOD).css("display") == "none" ? "display:block" : "") },
- "onresize": function(){U.UF.DL.loading.Donresize(this);}
- });
- if (UTF === true) {//loading样式1
- $$("div", { "style": { "cssText": "overflow:hidden;width:40px;height:20px;background:url('/img/Loading.gif') 0px 0px no-repeat;margin:auto"} }, _UDSD);
- }
- else { //loading样式2
- $$("div", { "style": { "cssText": "position:relative;width:" + (UTF && UTF.width ? UTF.width : "33px") + ";height:" + (UTF && UTF.height ? UTF.height : "33px") + ";background:url('" + (UTF && UTF.img ? UTF.img : "/img/UAL.gif") + "') 0px 0px no-repeat;margin:auto"} }, _UDSD);
- }
- try { _UDPD.insertBefore(_UDSD, UDOD); } //loading 添加到指定的位置
- catch (e) { }
- //loading样式设置
- U.UF.DL.loading.Donresize(_UDSD, UDOD, UTF);
- _UAE = UDOD.style;
- U.Json.Each(_USE,function (USV, UTP) { _USE[UTP] = _UAE[UTP]; });
- //原元素缩小
- (UDOD = U.selectEl(UDOD)).addAttrArray({ "__UCS__": _USE, "style": { "cssText": "width:0px;overflow:hidden;height:0px;padding:0;min-height:0px;min-width:0px;border-width:0px;"} });
- }
- return _UDSD;
- }
- }*/
- /**
- * css动画
- *
- * @return {array} 过渡属性的值
- -----------[0] 动画的css
- -----------[1] 动画的回调函数
- -----------[2] 兼容的前缀
- -----------[3] 浏览器过渡的监视属性
- -----------[4] 浏览器结束的属性
- */
- U.UF.C.CssAm = function () {
- var i, //遍历初始化
- _USE = $$("div").style; //获取div的样式
- //_UDE css动画属性名数组
- var _UDE = {
- "animation": ["animation", "animationEnd", "", "webkitRequest", "webkitCancel"],
- "OTransition": ["-o-transition", "oTransitionEnd", "-o-", "oRequest", "oCancel"],
- "MozTransition": ["-moz-transition", "transitionend", "-moz-", "mozRequest", "mozCancel"],
- "MsTransform": ["-ms-transition", "transitionend", "-ms-"],
- "transition": ["transition", "transitionend", "", "r", "cancel"]
- }
- for (i in _UDE) { //循环判断兼容
- if (_UDE.hasOwnProperty(i) && _USE[i] !== undefined) {
- _UDE[i].push(i);
- return _UDE[i];
- }
- }
- }
- ,
- Auxiliary: {
- an: function (UDE) { //缓存对象设置
- },
- slideToggle: function (UDE, UIE, UL, cb) { //下拉动画回调
- this[UIE].style.cssText = UDE; (UIE == UL - 1 && cb) && (cb());
- },
- animate: function (UDE, UAE, UIE) {//js动画调用使用区域
- var _UTF, _USE, i = UDE[0] || 0,
- _UL = UDE[1] || i + 1,
- _UTID = UDE[2],
- _UCB = UDE[3];
- for (; i < _UL; i++) {
- if (UIE) { _USE = U.UF.C.JsEM(this[i], UAE, UIE); }
- else { _USE = UAE; _UTF = true; } this.addAttrArray(_USE, i);
- }
- if (_UTF) {
- (_UTID == null && _UCB) && (_UCB()); return true;
- }
- },
- selectel: function (UTF, UDE) { //条件选择元素
- var _UFT, i = 0, _UL = UDE.length, _UCE = [], _UAE = U.select(), _UIE = UTF.match(U.UF.S.RNum);
- if (_UIE) { _UIE = _UIE[0].toInt(); switch (UTF.replace(_UIE + "", "")) { case ">": i = _UIE + 1; break; case "<": _UL = _UIE; break; default: i = _UIE; _UL = i + 1; break; } }
- for (; i < _UL; i++) { switch (UTF) { case "even": _UFT = !(i % 2); break; case "odd": _UFT = (i % 2) > 0; break; default: _UFT = true; break; } (_UFT) && (_UCE.push(UDE[i])); _UFT = false; }
- return _UAE.osadd(_UCE);
- }
- }
- /**
- * css动画异步
- *
- * @return {array} 过渡属性的值
- */
- U.UF.C.JsEM = function (UDOD, UDE, UHK, UTF) {
- var i, //遍历初始化
- j, //循环初始化
- _UCE, //储存字符串
- _USE = [], //初始化数组
- _UME = {}, //初始化对象
- _UM = /[^\d-|.]+/ig, //正则表达式
- _UNUM = /[\d-|.]+/ig; //正则表达式
- for (i in UDE) {
- if (UDE.hasOwnProperty(i)) {
- if (i == "style") {//style的制作
- _UCE = U.UF.C.jsonToStr(U.UF.C.JsEM(UDOD[i], UDE[i], UHK, true));
- (_UCE.length > 2) && (_UME[i] = { "cssText": _UCE.replace(/["|{|}]+/ig, "").replace(/,/ig, ";") });
- }
- else {//普通动画
- _USE[0] = UDOD[i] || 0; _USE[1] = UDE[i]; for (j = 0; j < _USE.length; j++) {
- (typeof _USE[j] != "number") && (_USE[j] = Number(_USE[j].replace(_UM, "")));
- } //生成位置
- if (!isNaN(_USE[0])) { //动画获取
- j = UTF ? U.UF.EL.styleConversion(i, true) : i;
- _UME[j] = _USE[0] + ((_USE[1] - _USE[0]) * UHK); _USE[1] = UDOD[i] ? UDOD : UDE;
- (typeof _USE[1][i] == "string") && (_UME[j] = _USE[1][i].replace(_UNUM, _UME[j]));
- }
- }
- }
- }
- return _UME;
- }
- /**
- * 动画初始化
- *
- * @param {object} 动画设置对象
- */
- U.UF.C.Animation = function (UDE) { //基础对象
- return new U.UF.C.Animation.init(UDE, U.UF.C.Animation.get());
- }
- U.UF.C.Animation.get = function () {
- var i, j, //循环变量
- _UFE,
- _UDE = [["r", "cancel"], ["", "moz", "webkit", "o"]]; //兼容
- //获取兼容字符串
- for (i = 0; i < _UDE[0].length; i++) {
- for (j = 0; j < _UDE[1].length; j++) {
- if (_UFE = window[_UDE[1][j] + (j ? _UDE[0][i].replace(/\b(\w)|\s(\w)/g, function (e) { //通过循环和获取 每次获取的时候利用首字母大写设置
- return e.toUpperCase();
- }) : _UDE[0][i]) + "AnimationFrame"]) { _UDE[0][i] = _UFE; break; };
- }
- }
- _UDE = _UDE[0];
- (typeof _UDE[0] == "string") && (_UDE[0] = _UDE[1] = null);
- return _UDE;
- }
- /**
- * 获取鼠标位置
- *
- * @param {object} 对象
- */
- U.UF.C.Animation.init = function (UDE, USE) {//动画初始化
- U.UF.C.AddObj(this, UDE); //添加动画对象
- this.type = USE || U.UF.C.Animation.get();
- this.sm = (USE && USE[0]) ? new Date() : Math.ceil(this.ti / 20); //动画开始的时间
- this.start(USE); //开始动画
- }
- //动画方法
- U.UF.C.Animation.init.prototype = {
- start: function (USE) {//这里开始了动画
- var _UFN = (USE || this.type)[0];
- this.tm = (_UFN ? _UFN(function(){this.time();}) : window.setInterval(function(){this.time(true);}, 20)); //动画使用开始
- },
- time: function (UTF) {//动画运行
- var _UTI, _UJT, _UST;
- if (UTF == true) { //普通计时器动画
- _UTI = 20 / this.ti;
- (this.ti <= 0) && (this.stop(), _UTI = null);
- this.cb(_UTI); this.ti -= 20;
- }
- else {//利用重绘动画使用
- _UTI = new Date(); //据偶去当前的时间
- _UJT = _UTI - this.sm;
- _UST = _UJT / this.ti;
- this.sm = _UTI; //时间的变化
- this.ti -= _UJT; //总时间的减少
- (this.ti <= 0) && (_UST = null, this.stop()); //调用停止函数
- (_UST !== 0) && (this.cb(_UST)); //结束的回调
- (_UST !== null) && (this.start()); //重复调用
- }
- },
- stop: function () {//动画结束
- (this.type[1] || window.clearInterval)(this.tm);
- }
- }
- /**
- * HTML模版页面 支持js内置 类似于js上的php ejs
- *
- * @param {element} 需要变化的元素
- * @param {object} 传参对象
- */
- U.UF.C.Simulation = function (UDOD, UDE) {
- new U.UF.C.Simulation.init(UDOD, UDE).exec();
- }
- /**
- * 初始化HTML模版页面 支持js内置 类似于js上的php ejs
- *
- * @param {element} 需要变化的元素
- * @param {object} 传参对象
- */
- U.UF.C.Simulation.init = function (UDOD, UDE) {
- this.el = UDOD; //
- U.UF.C.AddObj(this, UDE);
- return this;
- }
- U.UF.C.Simulation.init.prototype = {
- //正则配置
- config: { m: /^\\<{+([\s\S])+\\}>$/, // /\+=([\s\S])+?\+$/g
- zs: "+=", ze: "+", c: /\\/g,
- d: /(?=["])/g, s: "<{", e: "}>",
- f: "%",
- t: "([\\s\\S])*?"
- },
- //执行
- exec: function () {
- try {
- var i, _UCS = "",
- _UPE = [],
- _UT = this,
- _UKE = this.key,
- _UCE = this.config,
- _USE = (this.el.innerHTML || this.el).trim(" ").replace(_UCE.c, "\\\\").replace(_UCE.d, "\\").replace(this.getConfig("\\\\", "", "", "\\\\"),
- function (UST) { //配置输出查看
- return UST.replace("\\" + _UCE.s, _UCE.s.replaceHtmlSign()).replace("\\" + _UCE.e, _UCE.e.replaceHtmlSign());
- });
- //函数匹配区域
- _USE = _USE.replace(this.getConfig("", "", _UCE.f), function (UST) {
- return UST.replace(_UCE.s + _UCE.f, "\";").replace(_UCE.e, ";uhtml+=\"");
- });
- _USE = _USE.replace(this.getConfig(), function (UST) {
- return "\"+" + ((UST.replace(_UCE.s, "").replace(_UCE.e, "").replace(_UT.re("\\" + _UCE.zs + _UCE.t + "\\" + _UCE.ze),
- function (UST) {
- return UST.replace(_UCE.zs, "").replace(_UCE.ze, "").replaceHtmlSign();
- })) || "\"\"") + "+\"";
- }); //配置html输出区域
- _USE = 'var uhtml="' + _USE + '"; return uhtml;';
- //变量传参
- if (_UKE) {
- for (i in _UKE) {
- (_UKE.hasOwnProperty(i)) && (_UCS += (_UCS ? "," : "") + i, _UPE.push(_UKE[i]));
- }
- };
- _USE = Function(_UCS, _USE).apply(this.that || this, _UPE); //利用函数执行回调处理
- (this.cb) && (this.cb(_USE)); //获取模版回调
- }
- catch (e) { throw new Error(e); }
- },
- /**
- * 获取正则
- *
- * @param {string} 正则字符串
- */
- re: function (URE) {
- return new RegExp(URE, "g");
- },
- /**
- * 初始化HTML模版页面 支持js内置 类似于js上的php ejs
- *
- * @param {string} 正则开头
- * @param {string} 正则结束
- * @param {string} 正则中间的内容
- * @param {string} 正则结束的内容
- * @return {string} 正则内容
- */
- getConfig: function (US, UE, UOS, UOE) { //获取系统配置
- var _UCE = this.config;
- return this.re((US || "") + _UCE.s + (UOS || "") + _UCE.t + (UOE || "") + _UCE.e + (UE || ""));
- },
- getHtml: function () { //获取生成的html代码
- },
- /**
- * 正则对象
- *
- * @param {object} 正则设置
- */
- set: function (UDE) { //设置config
- var i, _UCE = this.config;
- for (i in _UCE) {
- (UDE.hasOwnProperty(i)) && (UDE[i] = _UCE[i]);
- }
- return this;
- }
- }
- //#region 处理了用户是否活动在当前页面的处理,当用户活动到当前页面的时候则五秒刷继续运行,当用户没有聚焦五秒刷取消
- ///**
- //*用户页面状态使用次数 统计页面计数 配合统一账号 同一浏览器多登问题
- //*本地存储方式进行存储数据 不污染cookie
- //*/
- //U.MD.D.record = function () {
- // //本地存储需要有一套完整的数据结构及方案。暂时放这里,没用到。
- // U.MD.D.LocalStorage = U.DW.local(); //初始化本地存储
- // U.MD.D.LocalStorage.set("user", { value: "" }); //设置用户访问值
- // U.MD.D.LocalStorage.remove("fm"); //清除前面记录
- // U.MD.D.LocalStorage.set("ati", Number(U.MD.D.LocalStorage.get("ati") || 0) + 1); //添加页面访问值
- //}
- ///**
- //* 页面聚焦使用
- //*/
- //U.MD.D.focus = function () {
- // U.MD.D.LocalStorage.off(); //取消页面消息通知
- // U.MD.C.T.onesetInterval(); //启动页面数据更新
- //}
- ///**
- //* 页面失去焦点使用
- //*/
- //U.MD.D.blur = function () {
- // U.MD.D.LocalStorage.on(U.MD.D.Asynblur); //重新检视页面
- // if (U.MD.D.LocalStorage.get("ati") > 0) {
- // U.MD.C.T.ClearInterval(); //清理页面数据获取
- // }
- //}
- ///**
- //* 这里为数据异步 使得各个页面 共享数据 一个浏览器允许多登 数据共享处理
- //*/
- //U.MD.D.Asynblur = function (errorobj) {
- // var _userid = US.userInfo.userid; //用户ID
- // var _value = U.UF.C.strToJson(errorobj["newValue"]); //获取页面值
- // if (U.MD.D.LocalStorage.get("ati") > 0) { //如果活动数大于0 停止这个页面活动
- // U.MD.C.T.ClearInterval();
- // }
- // else { //页面活动设置
- // U.MD.C.T.onesetInterval();
- // }
- // //数据共享分类处理
- // switch (errorobj.key) {
- // case "fm": //好友消息数据共享处理
- // if (_value.uid == _userid) {
- // U.MD.F.N.asynMessageService(_value, true);
- // }
- // break;
- // case "user": //用户数据
- // if ((_value.uid == _userid) && _value.value == "upline") {
- // U.MD.U.LO.emptyUserInfo();
- // }
- // break;
- // }
- //}
- //#endregion
- //#region 错误区域,需要在界面中显示,如何显示,先设计,后制作功能。然后重写一个函数,不需要类。
- //错误区域初始化
- U.A.Error = function () {
- return new U.A.Error.init();
- }
- //生成错误对象 错误对象的实例
- U.A.Error.init = function () {
- this.State = this.LogID = this.Value = this.Dt = this.Type = null;
- }
- U.A.Error.init.prototype = {
- /**
- * 判断对象是否为错误对象
- *
- * @return {object} json值
- */
- isError: function (UDE) {
- if (U.UF.C.isObject(UDE)) { //判断是否为对象
- for (var i in this) { if (this.hasOwnProperty(i) && !(i in UDE)) { return false; } }
- return true;
- }
- return false;
- },
- /**
- * 设置错误
- *
- * @return {object} 错误值
- */
- set: function (UDE) {
- U.UF.C.AddObj(this, UDE); //根据错误值添加错误
- return this;
- }
- }
- //#endregion
- //#region ajax post请求
- /**
- * post请求
- * @param {object} 传参
- ----------[url] 请求的地址
- ----------[parameter] 请求的参数
- ----------[_context] 请求的回调参数
- ----------[cb] 回调函数
- * @return {object} post对象
- */
- U.A.Post = $.Post = function (UDE) {
- var _UTE = new U.A.Post.init(UDE); //初始化对象
- _UTE.send(); //发送请求
- return _UTE;
- }
- /**
- * 初始化post对象
- *
- */
- U.A.Post.init = function (UDE) {
- U.UF.C.AddObj(this, UDE);
- }
- U.A.Post.init.prototype = {
- //发送请求
- send: function () {
- var i, _UDE = [],
- _URL = this.url, //请求的地址
- _UPE = this.parameter, //请求参数
- _UCE = this.context; //请求传参
- //添加参数
- if (_UPE) {
- for (i in _UPE) {
- if (_UPE.hasOwnProperty(i)) {
- _UDE.push($$("input", { "name": i, "value": _UPE[i] }));
- }
- }
- }
- //发送消息
- U.UF.UP.inputUpload(_UDE, U.UF.C.apply(this, function () { this.success(); }), _UCE, _URL, null, "application/x-www-form-urlencoded");
- },
- /**
- * psot请求成功回调
- * @param {object} 数据
- */
- success: function (UDE) { //异步回调
- (this.cb) && (this.cb(UDE));
- }
- }
- //#endregion
- /**
- * 把json字符串转化成json
- *
- * @param {string} 需要判断的对象
- * @return {object} 返回成功过生成后的对象 支持无线树
- */
- U.UF.C.strToJson = function (obj) {
- //obj json字符串
- var i; //循环初始化
- if (U.UF.C.isString(obj)) {
- obj = obj.parseJSON();
- }
- if (Array.isArray(obj)) { //设置数组
- for (i = 0; i < obj.length; i++) {
- if (U.UF.C.isString(obj[i])) {
- obj[i] = obj[i].parseJSON();
- }
- if (Array.isArray(obj[i])) {
- U.UF.C.strToJson(obj[i]);
- }
- }
- }
- return obj;
- }
- //暂时先屏蔽 网上很少使用
- //outerText 最初是由 IE4.0 浏览器实现的私有属性,只有 Firefox 不支持该属性
- //兼容outerText
- // if (!!document.getBoxObjectFor || window.mozInnerScreenX != null) {//判断是否为firefox
- // HTMLElement.prototype.__defineSetter__("outerText", function (str) {
- // var parsedText = document.createTextNode(str); //创建文本节点
- // this.parentNode.replaceChild(parsedText, this); //用创建的文本节点代替this
- // return parsedText;
- // });
- // HTMLElement.prototype.__defineGetter__("outerText", function () {
- // var r = this.ownerDocument.createRange(); //在这个元素的根元素创建一个(Range 对象)
- // r.selectNodeContents(this); //设置该范围的边界点,使它包含指定节点的子孙节点,但不包含指定的节点本身;参数->其子节点将成为当前范围的内容的节点
- // return r.toString(); //把一个逻辑值转换成字符串,并返回结果
- // });
- // }
- //暂时先屏蔽
- // if (!("componentFromPoint" in HTMLElement.prototype)) {//通过特定事件返回对象在指定坐标下的位置
- // U.UF.EV.boundProperties(HTMLElement.prototype, "componentFromPoint", function () {//componentFromPoint("指定x的客户端窗口的坐标","指定y的客户端窗口的坐标")
- // return function () {
- // var _UE = U.UF.C.GetMousep();
- // var _UDE = U.UF.EL.getElementInfo(this);
- // if ((_UE["X"] > _UDE["CW"] + _UDE["TX"]) || (_UE["Y"] > _UDE["CH"] + _UDE["TY"])) {
- // return "outside";
- // }
- // return "";
- // }
- // },
- // function () { });
- // }
- //IE的script元素支持onreadystatechange事件,不支持onload事件.
- //FF的script元素不支持onreadystatechange事件,只支持onload事件.
- // if (!("onreadystatechange" in HTMLElement.prototype)) {//判断是否是firefox
- // U.UF.EV.boundProperties(HTMLElement.prototype, "onreadystatechange", function () {
- // return this.onload;
- // },
- // function (cb) {
- // this.onload = cb;
- // });
- // }
- // function loadJS(url, success) {
- // var domScript = document.createElement('script');
- // domScript.src = url;
- // success = success || function () { };
- // domScript.onload = domScript.onreadystatechange = function () {
- // if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
- // success();
- // this.onload = this.onreadystatechange = null;
- // this.parentNode.removeChild(this);
- // }
- // }
- // document.getElementsByTagName('head')[0].appendChild(domScript);
- // }
- // if (!("setCapture" in HTMLElement.prototype)) {//判断是否是firefox
- // U.UF.EV.boundProperties(HTMLElement.prototype, "setCapture", function () {
- // return function () { window.captureEvents(Event.MOUSEMOVE); } //firefox对于鼠标事件的捕捉
- // },
- // function () { }); }
- //
- // if (!("releaseCapture" in HTMLElement.prototype)) {//判断是否是firefox
- // U.UF.EV.boundProperties(HTMLElement.prototype, "releaseCapture", function () {
- // return function () {
- // window.releaseEvents(Event.MOUSEMOVE);
- // }
- // },
- // function () { });
- // }
- //setCapture和window.captureEvents(Event.MOUSEMOVE)的兼容
- // if (!("event" in window.constructor.prototype)) {/*检测浏览器是否支持鼠标键盘事件*/
- // U.UF.EV.boundProperties(window.constructor.prototype, "event", function () {
- // var _UDE = arguments.callee; //arguments.callee ->指向参数arguments对象的函数
- // while (_UDE.caller) {//一直往上寻找直到 寻找到顶层作用域 返回null 再往下执行
- // _UDE = _UDE.caller;
- // }
- // return _UDE.arguments ? _UDE.arguments[0] : null; //arguments 是一个对应于传递给函数的参数的类数组对象。
- // }, function () { });
- // }
- // if (!("srcElement" in window.Event.prototype)) {
- // U.UF.EV.boundProperties(window.Event.prototype, "srcElement", function () {
- // return event.target;
- // },
- // function () { });
- // }
- //srcElement 和 target 的兼容
- // var theEvent = window.event || arguments.callee.caller.arguments[0]; //arguments.callee.caller.arguments[0]相当于firefox的获取event
- // var srcElement = theEvent.srcElement; //捕获当前事件作用的对象
- // if (!srcElement) {//Firefox不兼容srcElement
- // srcElement = theEvent.target; //Firefox兼容target
- // }
- // if (!("keyCode" in window.Event.prototype)) {
- // U.UF.EV.boundProperties(window.Event.prototype, "keyCode", function () {
- // return event.which;
- // },
- // function () { });
- // }
- //keyCode - 兼容chrom和Firefox
- // HTMLElement.prototype.__defineGetter__("onmousewheel", function () {
- // return this.onwheel;
- // });
- // HTMLElement.prototype.__defineSetter__("onmousewheel", function (cb) {
- // this.onwheel = cb;
- // });
- // if (!("onmousewheel" in HTMLElement)) {
- // if ("onwheel" in HTMLElement.prototype) {
- // U.UF.EV.boundProperties(HTMLElement.prototype, "onmousewheel", function () {
- // return this.onwheel;
- // },
- // function (cb) {
- // this.onwheel = cb;
- // });
- // }
- // else {
- // //firefox支持onmousewheel
- // if (browser.firefox) {
- // (function () {
- // window.addEventListener("DOMMouseScroll", function (UE) {
- // //监控Scroll事件
- // var _UOE = null
- // , _UDOD = UE.srcElement;
- // do {
- // _UOE = U.selectEl(_UDOD).attr("onmousewheel") || _UDOD.onmousewheel;
- // _UDOD = U.selectEl(_UDOD).Parent();
- // } while (!(_UOE || !_UDOD)); //冒泡的顶部获取
- // if (_UOE) {
- // (typeof _UOE == "string") && (_UDOD.onmousewheel = new Function(_UOE));
- // U.M.StopDefault();
- // //阻止页面固定事件
- // setTimeout(function () {
- // _UOE.call(this, UE);
- // }
- // , 0);
- // //异步执行 解决锁定的bug
- // }
- // }
- // , false);
- // }
- // )();
- // }
- // }
- // }
- //------------------------------------------------------------------------------------------
- // if (!("innerText" in HTMLElement.prototype)) {/*检测浏览器是否支持innerText这个方法*/
- // U.UF.EV.boundProperties(HTMLElement.prototype, "innerText",
- // function () {
- // return this.textContent;
- // },
- // function (UDE) {
- // this.textContent = UDE;
- // }
- // );
- // }
- //------------------------------------------------------------------------------------------
- // if (!("outerHTML" in HTMLElement.prototype)) {/*检测浏览器是否支持outerHTML这个方法*/
- // U.UF.EV.boundProperties(HTMLElement.prototype, "outerHTML",
- // function () {
- // var _UDOD = this.cloneNode(true),
- // _UDTD = $$("div", {});
- // _UDTD.appendChild(_UDOD);
- // return _UDTD.innerHTML; /*如果不支持就使用innerhtml插入*/
- // },
- // function (UTH) {
- // var i, _UDOD = U.selectEl(this), _UDPD = _UDOD.Parent(), _UDCD = $$("div", {
- // "innerHTML": UTH
- // }).childNodes, _UDTD = document.createDocumentFragment;
- // for (i = 0; i < _UDCD.length; i++) {
- // _UDTD.appendChild(_UDCD[i]);
- // }
- // ; _UDTD.insertBefore(_UDTD, this);
- // _UDOD.remove();
- // }
- // );
- // }
- //------------------------------------------------------------------------------------------
- // if (!("outerText" in HTMLElement.prototype)) {/*检测浏览器是否支持outerText这个方法*/
- // U.UF.EV.boundProperties(HTMLElement.prototype, "outerText",
- // function () {
- // var _UDOD = this.cloneNode(true)
- // , _UDTD = $$("div", {});
- // _UDTD.appendChld(_UDOD);
- // return _UDTD.innerText; /*如果不支持就使用innerText插入*/
- // },
- // function (UTH) {
- // var i, _UDOD = U.selectEl(this), _UDPD = _UDOD.Parent(), _UDCD = $$("div", {
- // "innerText": UTH
- // }).childNodes, _UDTD = document.createDocumentFragment;
- // for (i = 0; i < _UDCD.length; i++) {
- // _UDTD.appendChild(_UDCD[i]);
- // }
- // _UDTD.insertBefore(_UDTD, this);
- // _UDOD.remove();
- // });
- // }
- //------------------------------------------------------------------------------------------
- // if (!("currentStyle" in HTMLElement.prototype)) {
- // U.UF.EV.boundProperties(HTMLElement.prototype, "currentStyle", function () {
- // return getComputedStyle(this, false);
- // },
- // function () { });
- // }
- //------------------------------------------------------------------------------------------
- // if (!("onresize" in HTMLElement.prototype) || !browser.msie) {//HTMLElement.prototype内没有onresize 则执行这个函数
- // U.UF.CP.onresize = function (UDOD, UDTD, cb) {
- // Size事件设置
- // if (cb) {
- // UDOD.contentDocument.defaultView.onresize = function () { U.UF.C.apply(UDTD, [[cb]])(); } //
- // }
- // else {
- // try {
- // delete this.__SizeElement__;
- // } catch (e) { }
- // }
- // }
- // U.UF.EV.boundProperties(HTMLElement.prototype, "onresize", function () {
- // try {
- // this.__SizeElement__.contentDocument.defaultView.onresize;
- // } catch (e) {
- // return null;
- // }
- // },
- // function (cb) {
- // if (this.tagName) {
- // 设置Set事件
- // var _UDOD = this.__SizeElement__;
- // (U.UF.EL.getStyle(this, "position") == "static") && (this.style.position = "relative");
- // if (!_UDOD || U.selectEl(_UDOD).Parent() != this && cb) {
- // _UDOD = this.__SizeElement__ = $$("object", {
- // "onload": function(){U.UF.CP.onresize(this, this, cb);},
- // "type": "text/html",
- // "data": "about:blank",
- // "style": {
- // "cssText": "display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1;visibility:hidden;margin:0;padding:0;"
- // }
- // }, this)[0];
- // }
- // else {
- // U.UF.CP.onresize(_UDOD, this, cb);
- // }
- // }
- // });
- // }
- // if (!("componentFromPoint" in HTMLElement.prototype)) { // --------- 上面有重复代码
- // U.UF.EV.boundProperties(HTMLElement.prototype, "componentFromPoint", function () {
- // return function () {
- // var _UE = U.UF.EL.getMousePosition();
- // var _UDE = U.UF.EL.getElementInfo(this);
- // if ((_UE["X"] > _UDE["CW"] + _UDE["TX"]) || (_UE["Y"] > _UDE["CH"] + _UDE["TY"])) {
- // return "outside";
- // }
- // return "";
- // }
- // },
- // function () { });
- // }
- /**
- * loading变化设置
- * @param {element} 当前loading元素
- */
- /*U.UF.DL.loading.Donresize = function (UDOD, UDTD, UTF) {
- if (UDOD["P"] > -1) { //loading变化设置
- var _UDAD = U.selectEl("div", UDOD),
- _UH = U.selectEl(UDOD).height() - _UDAD[0].offsetHeight; //loading大小变化
- _UDAD[0].style.top = (_UH > 0 ? _UH : 0) / 2 + "px"; //loading图片位置设定
- }
- else { //取消loading
- U.UF.DL.uploading(UDOD);
- }
- }*/
- /**
- * 取消loading
- * @param {element} 当前loading元素
- */
- /*U.UF.DL.uploading = function (UDOD) {
- UDOD = UDOD[0] || UDOD; //需要loading元素
- var i, _UAE = ["__ULOADElement__", "__UCS__"], //loading元素遗留参数
- _UDTD = UDOD[_UAE[0]], //loading
- _UME = UDOD[_UAE[1]], //需loading元素原样式
- _UCE = UDOD.style,
- _UDE = { "width": "0px", "height": "0px", "overflow": "hidden", "padding": "0px", "borderWidth": "0px", "minHeight": "0px", "minWidth": "0px" }; //元素变回参数
- //判断元素是否已经可以结束loading
- if (_UDTD && ((_UDTD["P"]--) == 0)) {
- for (i in _UDE) {
- if (_UDE.hasOwnProperty(i)) {
- //设置或者取消原参数
- if (_UDE[i] == _UCE[i]) { _UDE[i] = _UME[i]; }
- else { delete _UDE[i]; }
- }
- };
- UDOD["__UCS__"] = null; //设置样式
- $(_UDTD).remove(); //移除loading
- $(UDOD).addAttrArray({ "style": _UDE }); //原loading元素样式回归
- //清除残留参数
- try { delete UDOD[_UAE[0]]; delete UDOD[_UAE[1]] }
- catch (e) {
- UDOD.removeAttribute(_UAE[0]);
- UDOD.removeAttribute(_UAE[1]);
- } return true;
- }
- }*/
- ////#region 出让命名空间
- ////出让命名空间
- ////只有外部项目才会使用 为了和其他框架兼容的方案
- //$.noConflict = function (UDE) {
- // var _UDE = window.U.Json_;
- // if (_UDE && _UDE != $) {
- // window.U.Json_ = window.$; window.$ = _UDE;
- // return window.U.Json_;
- // }
- // return $;
- //}
- ////#endregion
- // filter: function (UTF, UDE) {//结果集筛选
- // UDE = UDE || this; var _UTF, _UCE = [], j, i = 0; if (typeof UTF == "string") { UTF = this.getValue(UTF) } //处理制定的选择 转化成可识别选择
- // for (i = 0; i < this.length; i++) {
- // for (j in UTF) { if (UTF.hasOwnProperty(j)) { if (this[i][j] != UTF[j]) { break; } } }
- // (this[i][j] == UTF[j]) && (_UCE.push(this[i]));
- // }
- // return U.select().osadd(_UCE); //添加子元素到制定的位置
- // },
- // siblings: function (UIE) { //当前元素所有的兄弟节点
- // var i, _UDE = ["preva", "next"], _UAE = U.select();
- // for (i = 0; i < _UDE.length; i++) { this.celement(_UDE[i] + "All", UIE, _UAE); }
- // return _UAE
- // },
- // celement: function (UTP, UIE, UAE) { //获取元素
- // var _UDOD, j, i = UIE || 0, _UL = UIE + 1 || this.length, _UTF = { "prevaAll": "previousSibling", "nextAll": "nextSibling"}[UTP]; UTP = _UTF || UTP; UAE = UAE || U.select();
- // for (i = 0; i < _UL; i++) { //获取指定元素结果
- // j = 1; _UDOD = this[i]; while ((j > 0 || (_UTF && _UDOD)) && _UDOD[UTP]) {
- // do { _UDOD = _UDOD[UTP]; }
- // while (_UDOD && _UDOD.nodeType !== 1);
- // (_UDOD) && (UAE[UAE.length++] = _UDOD);
- // j--;
- // }
- // }
- // return UAE;
- // },
- // ofparent: function (UIE, UTF) {//获取offsetParent
- // var i = UIE || 0, _UL = UIE + 1 || this.length, UAE = U.select();
- // for (i = 0; i < _UL; i++) { UAE[UAE.length++] = U.UF.EL.offsetParent(this[i]); }
- // return UAE;
- // },
- // prevaAll: function (UIE) {//当前元素之前所有的兄弟节点
- // return this.celement("prevaAll", UIE);
- // },
- // nextAll: function (UIE) { //当前元素之后所有的兄弟节点
- // return this.celement("nextAll", UIE);
- // },
- // replaceAll: function (UDE, UIE) {
- // var _UME, i = UIE || 0, _UL = UIE + 1 || 1;
- // for (; i < _UL; i++) {
- // if (U.UF.C.isString(UDE)) { _UME = $$(UDE); } else { _UME = U.select(UDE).clone(true); }
- // this.Parent(1, i).replaceChild(this[i], _UME);
- // }
- // },
- // even: function () { //获取偶数元素
- // return this.Auxiliary.selectel("even", this);
- // },
- // odd: function () { //获取奇数元素
- // return this.Auxiliary.selectel("odd", this);
- // },
- // eq: function (UIE) { //索引制定位置的元素
- // return this.Auxiliary.selectel("=" + UIE, this);
- // },
- // gt: function (UIE) { //索引大于的元素
- // return this.Auxiliary.selectel(">" + UIE, this);
- // },
- // lt: function (UIE) {//索引小于的元素
- // return this.Auxiliary.selectel("<" + UIE, this);
- // },
- // each: function (cb, UDE) { //遍历数据
- // if (cb) { var i; UDE = UDE || this; for (i = 0; i < UDE.length; i++) { cb(i, UDE[i]); } }
- // },
- // only: function (UIE) { //选择没有兄弟节点的元素
- // var i, j, _UCE, _UPE, UL = UIE + 1 || this.length;
- // for (i = 0; i < UL; i++) { _UCE = this.parentElement(1, i).Child(); (_UCE.length != 1 || _UCE[0] != this[i]) && (this.del(i, true)); }
- // this.del(); return this;
- // },
- // checked: function (UIE) {//获取所有给单选或者复选的元素
- // var _UCE, j, i = UIE || 0, _UL = UIE + 1 || this.length, _UVE = U.select();
- // for (i = 0; i < _UL; i++) {
- // _UCE = U.select("input@type=checkbox", this[i]); //获取复选框
- // for (j = 0; j < _UCE.length; j++) { (_UCE[j].checked) && (_UVE.osadd(_UCE[j])); } //添加所有给复选的元素
- // }
- // return _UVE;
- // },
- // selected: function (UIE) {//获取下拉列表中给选择的元素
- // var _UCE, j, i = UIE || 0, _UL = UIE + 1 || this.length, _UVE = U.select();
- // for (i = 0; i < _UL; i++) { }
- // },
- // before: function (UDOD, UIE) { //被选择元素前插入指定元素
- // var i = UIE || 0, _UL = (UIE || 0) + 1;
- // for (; i < UIE; i++) { this.append(UDOD, i, this[i].firstChild); }
- // },
- // top: function (UIE) { //获取offsetTop
- // return this[UIE || 0].offsetTop;
- // },
- // left: function (UIE) { //获取offsetLeft
- // return this[UIE || 0].offsetLeft;
- // },
- // width: function (UIE) {//获取长
- // return U.UF.EL.getElementRealWidth(this[UIE || 0]);
- // },
- // innerWidth: function (UIE) { //获取内宽度 包含padding
- // return this[UIE || 0].clientWidth;
- // },
- // outerWidth: function (UIE, UTF) { //获取整体宽度 包含 padding border ture包含margin
- // this[UIE || 0].offsetWidth + this.css("marginLeft") + this.css("marginRight");
- // },
- // height: function (UIE) { //获取宽
- // return U.UF.EL.getElementRealHeight(this[UIE || 0]);
- // },
- // innerHeight: function () { //内高度
- // return this[UIE || 0].clientHeight;
- // },
- // outerHeight: function () { //外高度
- // this[UIE || 0].offsetWidth + this.css("marginTop") + this.css("marginBottom");
- // },
- // replaceC: function (UDOD, UIE) { //元素顶替
- // UIE = UIE || 0; var _UDPD, _UDTD = this[UIE];
- // if (_UDTD) { _UDPD = this.Parent(1, UIE); (_UDPD) && (_UDPD.replaceChild(UDOD, _UDTD)); this[UIE] = UDOD; }; return this;
- // },
- // html: function (UHT, UIE) { return UHT != null ? this.addAttrArray({ "innerHTML": UHT }, UIE) : this[UIE || 0].innerHTML; }, //获取innerhtml
- // text: function (UHT, UIE) { return UHT != null ? this.addAttrArray({ "innerText": UHT }, UIE) : this[UIE || 0].innerText; }, //获取innerText
-
- // getBackgroundColor: function (UDE) { //获取设置背景图片
- // if (U.UF.C.isString(UDE)) { }
- // else if (Array.isArray(UDE)) { }
- // },
- // first: function () { //获取结果里的第一个元素
- // return U.select(this[0]);
- // },
- // last: function () { //获取最后一个元素
- // return U.select(this[this.length - 1]);
- // },
- // transition: function (UDE, USP, cb, UIE) { //过度动画使用
- // var i, j, _UDW, _UTP, _UFN, _UAE = {}, _UHE = {}, _UME = [["scale", ""], ["translate,perspective", "px"], ["skew,rotate", "deg"]], _UCE = U.UF.EL.GCssAe(); //scale
- // if (_UCE) {//Html5兼容
- // _UTP = _UCE[2] + "transform"; _UAE[_UTP] = "";
- // _UFN: for (i in UDE) {
- // for (j = 0; j < _UME.length; j++) { if (_UME[j][0].split(",").indexOf(i) > -1) { _UDW = _UME[j][1]; _UAE[_UTP] += i + "(" + UDE[i] + _UDW + ") "; continue _UFN; } }
- // _UHE[_UTP + "-" + i] = UDE[i];
- // }
- // this.addAttrArray({ "style": _UHE }).animate(_UAE, USP, cb, UIE); //执行动画
- // }
- // },
- // slideToggle: function (UST, cb, UIE, UTF) {//滑动效果
- // var j, _UTP, _UDE, _USC, i = UIE || 0, _UL = UIE + 1 || this.length, _USE = { height: "", marginBottom: "", marginTop: "", paddingBottom: "", paddingTop: "", display: "block" }, _UKE = _USE; //变化值
- // for (; i < _UL; i++) { //设置动画
- // _USC = this.css("cssText"); U.Json.Each(_USE,U.UF.C.apply(this, function (UAE, UIE) { if (UIE != "display") { if (UIE == "height") { _USE[UIE] = this.height() + "px"; } else { _USE[UIE] = this.css(UIE, null, i); } } })); //原初始值
- // _UDE = [_USE, { "cssText": "height:0px;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:block;overflow:hidden"}]; //初始化隐藏动画
- // if ((_UTP = (UTF === false || (UTF == null && this.css("display", "") == "none")))) { _UDE.reverse(); } //设置显示动画
- // this.addAttrArray({ style: _UDE[0] }, i).animate(_UDE[1], UST, function () { this.Auxiliary.slideToggle(_USC + ";display:" + (_UTP ? "block" : "none"), i, _UL, cb); }, i); //设置出现和取消
- // }
- // },
- // ready: function (cb) { //添加doc ready函数
- // var _UTF = document.attachEvent ? "readystatechange" : "DOMContentLoaded", _UCB = [];
- // _UCB[0] = U.UF.C.apply(document, function () {
- // U.UF.EV.delElementEvent(_UTF, document, _UCB);
- // cb()
- // });
- // U.UF.EV.addElementEvent(_UTF, document, _UCB[0]);
- // },
- // load: function (cb) { //load加载页面
- // (!this.length) && (this.osadd(window)); var _UFN = function () { this.unbind("load", _UFN, 0); cb(); };
- // this.bind("load", _UFN, 0);
- // },
- // contents: function () { },
- // message: function () { //message 事件绑定
- // },
- // mousedown: function (cb, UTF, UIE) { //左右事件
- // (cb) && (this.bind("mousedown", function () { var _UTF = event.button; _UTF = _UTF == 2 || _UTF == 3; if (!UTF || (UTF == "right" && _UTF) || (UTF == "left" && !_UTF)) { cb(); } }, UIE));
- // return this;
- // },
- //把数据库的时间戳转换成可读时间
- //1、带一个参数
- //参数一:时间格式
- // 1、javascrpt 自带的时间格式 datetime类型 Sun Mar 04 2018 18:45:54 GMT+0800 (中国标准时间)
- // 2、sqlserver 时间格式 /Date(1364812396843)/
- // 3、mongodb 时间格式 2018/01/01 01:01:01
- // 4、mysql 时间格式 2018-01-01 01:01:01
- // 5、nodejs的json时间"2018-03-04T11:14:27.878Z"
- //js转换mysql中datetime日期格式为00-00-00 00:00:00,转换后为:2016:11:23 09:09:09格式
- //U.UF.D.formatDateToArray = function (UOD, UTF) {
- // var _UTP = typeof UOD == "string",
- // _ude = ["getFullYear", "getMonth", "getDate", "getHours", "getMinutes", "getSeconds"];
- // if (!UOD || !_UTP || (_UTP && UOD.indexOf("Date") > -1)) {
- // UOD = _UTP ? new Date(parseInt(UOD.match(/[0-9]+/g)[0])) : (UOD || new Date());
- // for (i = 0; i < _ude.length; i++) {
- // _ude[i] = UOD[_ude[i]]() + (i == 1 ? 1 : 0);
- // _ude[i] = i > 2 ? _ude[i].prefixInteger() : _ude[i];
- // }
- // } //返回时间
- // else if (_UTP) {
- // UOD = new Date(UOD); //获取当前的时间
- // _ude = U.UF.D.formatDateToArray(UOD, true);
- // } //mysql返回的时间
- // return (UTF ? _ude : _ude.slice(0, 3).join("-") + " " + _ude.slice(3, 6).join(":")); //返回数据
- // ///Date(1364812396843)/
- // //2018/01/01 01:01:01
- // //2018-01-01 01:01:01
- //}
- //U.UF.D.formatDateToArray = function (UOD, UTF) {
- // try {
- // var _UTP = typeof UOD == "string",
- // _ude = ["getFullYear", "getMonth", "getDate", "getHours", "getMinutes", "getSeconds"];
- // if (!UOD || !_UTP || (_UTP && UOD.indexOf("Date") > -1)) {
- // UOD = _UTP ? new Date(parseInt(UOD.match(/[0-9]+/g)[0])) : (UOD || new Date());
- // for (i = 0; i < _ude.length; i++) {
- // _ude[i] = UOD[_ude[i]]() + (i == 1 ? 1 : 0);
- // _ude[i] = i > 2 ? _ude[i].prefixInteger() : _ude[i];
- // }
- // } //返回时间
- // else if (_UTP) {
- // UOD = new Date(UOD); //获取当前的时间
- // _ude = U.UF.D.formatDateToArray(UOD, true);
- // } //mysql返回的时间
- // return (UTF ? _ude : _ude.slice(0, 3).join("-") + " " + _ude.slice(3, 6).join(":")); //返回数据
- // } catch (e) { return UOD; }
- //}
- /*-----------------------------------------------未使用的函数------------------------------------------*/
- //js倒计处理
- U.UF.D.DJS = (function () {
- var _UFN = function (UDE, fun) {
- var _UTF = false,
- _UL = UDE.length - 1,
- i = _UL, _UCE = [1, 24, 60, 60];
- for (; i > -1; i--) {
- if (UDE[i] > 0) {
- UDE[i]--; if (i < _UL) {
- UDE[i + 1] = _UCE[i + 1] - 1;
- } _UTF = !_UTF; break;
- }
- }
- (_UTF) && ((fun) && (fun(UDE)), setTimeout(function () { _UFN(UDE, fun) }, 1000)); //回调计时
- }
- //设置时间
- return function (UTM, fun) {
- var i, j, _UZ,
- _UKE = [60, 60, 24, 1],
- _ude = [],
- _UTS = ((new Date(UTM[0], UTM[1] - 1, UTM[2],
- UTM[3] || 0, UTM[4] || 0,
- UTM[5] || 0)) - (new Date())) / 1000;
- for (i = _UKE.length - 1; i >= 0; i--) {
- _UZ = _UTS;
- for (j = 0; j <= i; j++) {
- j == i ? _UZ %= _UKE[j] : _UZ /= _UKE[j];
- }
- _ude.push(parseInt(_UZ, 10));
- }
- _UFN(_ude, fun); //获取倒计时的时间
- }
- })();
- /*
- * 获取浏览器信息
- *
- * @return {boolean} { chrome: true, msie:false, firefox:false, 360ee:true, ver: 36}
- */
- //U.UF.CI.Browser = function () {
- //// var i,
- //// _UAE = U.UF.CI.userAgent,
- //// _USE = {},
- //// _UVE = U.UF.S.browser, //区分浏览器
- //// _UDE = U.UF.S.browsers, //个版本浏览器正则
- //// _UCE = ["360ee", "360se", "se", "lbbrowser", "aoyou", "theworld", "worldchrome", "greenbrowser", "qqbrowser", "baidu", "MicroMessenger", "QQ", "AppleWebKit"]; //知名公司浏览器区分
- //// //判断浏览器版本
- //// for (i in _UDE) {
- //// if (_UDE.hasOwnProperty(i)) {
- //// _USE[i] = _UDE[i].test(_UAE);
- //// }
- //// }
- //// //各个公司的版本
- //// for (i = 0; i < _UCE.length; i++) {
- //// if (_UAE.indexOf(_UCE[i]) > 0) {
- //// _USE[_UCE[i]] = true;
- //// break;
- //// }
- //// };
- //// _USE.ver = _UAE.match(_UVE); //设置版本
- //// return _USE; //获取内核和产商
- // _bri= U.UF.CI.userAgent,//浏览器信息
- // _obj = {},//空对象 用于装浏览器信息
- // _bro = U.UF.S.browser, //区分浏览器
- // _arr = ["360ee", "360se", "se", "lbbrowser", "aoyou", "theworld", "worldchrome", "greenbrowser", "qqbrowser", "baidu", "MicroMessenger", "QQ", "AppleWebKit"]; //知名公司浏览器区分
- ////判断浏览器类型
- // //各个公司的版本
- // for (i = 0; i < _arr.length; i++) {
- // if (_bri.indexOf(_arr[i]) > 0) {
- // _obj[_arr[i]] = true; //如果是对应版本则为true
- // break;//找到对应版本后就不再循环
- // }
- // };
- // _bri= U.UF.CI.userAgent,//浏览器信息
- // _bro = U.UF.S.browser, //区分浏览器
- // _obj.ver = _bri.match(_bro); //设置浏览器版本等信息
- // return _obj; //将信息返回
- //};
- /**
- * 添加或者删除自定义属性
- *
- */
- /*U.UF.EL.addAttributes = function (arr, name, value) {
- var i, //用于循环
- j, //用于循环
- _UAE,
- _UTP = UTV != null ? "setAttribute" : "removeAttribute"; //判断是设置还是删除属性
- for (i = 0; i < UDE.length; i++) {//
- _UAE = UDE[i];
- if (_UAE) {
- if (UCE && UCE.length) { //训话属性处理
- for (j = 0; j < UCE.length; j++) {
- _UAE = _UAE[UCE[j]];
- }
- }
- _UAE[_UTP](USN, UTV); //执行删除获取添加属性
- }
- }
- }
- U.UF.EL.delAttributes = function (arr, name) {
- var i, //用于循环
- j, //用于循环
- _UAE,
- _UTP = UTV != null ? "setAttribute" : "removeAttribute"; //判断是设置还是删除属性
- for (i = 0; i < UDE.length; i++) {//
- _UAE = UDE[i];
- if (_UAE) {
- if (UCE && UCE.length) { //训话属性处理
- for (j = 0; j < UCE.length; j++) {
- _UAE = _UAE[UCE[j]];
- }
- }
- _UAE[_UTP](USN, UTV); //执行删除获取添加属性
- }
- }
- }*/
- /**
- * 获取元素所使用的样式
- *
- * @param {element} 需要获取样式的元素
- * @param {string} 样式的key
- */
- /*U.UF.EL.getStyle = function (UDOD, UVE) {
- if (UDOD && UDOD.style) {
- UVE = U.UF.EL.styleConversion(UVE);
- return (UDOD.style[UVE] || UVE == "cssText") ? UDOD.style[UVE] : (UDOD.currentStyle ? UDOD.currentStyle[UVE] || "" : "");
- }
- return ""; //获取js对应的style值
- }*/
- /**
- * 添加删除获取class
- *
- * @param {array} 进行操作的对象
- * @param {string} 确定循环范围
- * @param {element} 正则表达式 获取字符
- * @param {string} 获取或删除指令
- * @return {boolean} 是否存在改样式
- */
- /*U.UF.C.ARClass = function (UDE, UIE, UCN, UTF) {
- var _UCT, //储存对象样式名
- _UFT, //储存索引值
- _UIF, //储存索引值
- i = UIE || 0; //循环初始化
- _UL = UIE + 1 || UDE.length, //确定循环范围
- _UL = Math.min(_UL, UDE.length);
- _UCE = new RegExp("(\\s|^)" + UCN + "(\\s|$)"); //需要索引的值
- for (; i < _UL; i++) {
- _UCT = UDE[i].className;
- _UFT = _UCT.match(_UCE);
- if (UTF == "Add") {
- (!_UFT) && (UDE[i].className += (_UCT ? " " : "") + UCN);
- } //添加class
- else if (UTF == "RE") { //删除class
- (_UFT) && (_UIF = _UCT.indexOf(UCN) + UCN.length, UDE[i].className = _UCT.replace(_UCE, (_UIF == _UCT.length || !_UIF) ? "" : " "));
- }
- }
- return _UFT;
- }*/
- /*
- **作用:用于指定的元素进行删除指定的class,如果class存在,那么class就删除,如果class不存则不处理
- **参数一:el1进行操作的对象
- **参数二:el2获取className的字符
- **参数三:str添加或删除指令,添加classname为Add,删除classname为Remove
- */
- /*U.UF.C.ARClass = function (el1, el2, str) {
- var _Reg = el1.className.match(new RegExp("(\\s|^)" + el2 + "(\\s|$)")); // ( \\s|^ ) 判断前面是否有空格 (\\s | $ )判断后面是否有空格
- var _b = !!(_Reg); //两个感叹号为转换为布尔值 以方便做判断
- if (str == "Add") {//判断是否是添加classname
- if (!_b) {//判断元素不存在指定的class
- el1.className += " " + el2; //给指定的元素添加指定的class
- }
- }
- if (str == "Remove") {//判断是否删除classname
- if (_b) {//判断元素存在指定的class
- el1.className = el1.className.replace(new RegExp("(\\s|^)" + el2 + "(\\s|$)"), " "); // replace方法是替换
- }
- }
- }*/
- ///**
- //* 获取css3过渡动画
- //*
- //* @return {array} 过渡属性的值
- //-----------[0] 过渡的css
- //-----------[1] 过渡的回调函数
- //-----------[2] 兼容的前缀
- //-----------[3] 浏览器过渡的监视属性
- //-----------[4] 浏览器结束的属性
- //*/
- //U.UF.EL.GCssAe = function () {
- // var i, //遍历初始化
- // _USE = $$("div").style, //获取div的样式
- // //css兼容的形式
- // _UDE = {
- // "WebkitTransition": ["-webkit-transition", "webkitTransitionEnd", "-webkit-", "webkitRequest", "webkitCancel"], //webkit浏览器的兼容
- // "OTransition": ["-o-transition", "oTransitionEnd", "-o-", "oRequest", "oCancel"], //Op 浏览的兼容
- // "MozTransition": ["-moz-transition", "transitionend", "-moz-", "mozRequest", "mozCancel"], //火狐浏览器的兼容
- // "MsTransform": ["-ms-transition", "transitionend", "-ms-"], //ie低版本的兼容
- // "transition": ["transition", "transitionend", "", "r", "cancel"] //html5的兼容
- // }
- // //循环判断获取
- // for (i in _UDE) {
- // if (_UDE.hasOwnProperty(i) && _USE[i] !== undefined) {
- // _UDE[i].push(i);
- // return _UDE[i];
- // }
- // }
- //}
- ///**
- //* css动画异步
- //*
- //*/
- //U.UF.EL.AsynCssEM = function (UDID, UDSD, cb, UIF, UIF) {
- // this.removeClass(UDID, UIF);
- // U.selectEl(UDSD).remove();
- // (cb) && (cb(UIF));
- //}
- // 窗体全局变量
- //U.UF.F.isTop = false;
- //U.UF.F._closes = [];
- //U.UF.F._index = [];
- /*U.UF.F.closefun = function (UDOD) {
- U.UF.F._closes.splice(U.UF.F._closes.indexOf(UDOD), 1);
- };*/
- /**
- * 放大窗体
- *
- * @param {number} 数字1
- * @param {number} 数字2
- * @param {boolean} 返回数字1是否大于数字2
- * @param {number} 数字2
- * @param {boolean} 返回数字1是否大于数字2
- */
- /*U.UF.F.windowZooming = function (UDOD, UDTD, cb, UDOM, UST) {
- var _USE, _UCE, _UTE, _UTF = true,
- _UDTD = U.selectEl(UDOD),
- _UST = UDOD.style,
- _UED = U.UF.C.GetPDWH(UDOD),
- _UW = US.width,
- _UH = US.height;
- UDTD = UDTD || (event && event.srcElement); //U.UF.C.getElementInfo(UDOD)
- if (_UED["OW"] >= _UW && _UED["OH"] >= _UH) {
- _UCE = { "title": "全屏", "onmousedown": UST ? (UST.onmousedown || (UDOM ? UDOM.onmousedown : null)) : null, "style": UST ? UST["style"] || { "width": "80%", "height": "80%", "left": "10%", "top": "10%"} : { "width": "80%", "height": "80%", "left": "10%", "top": "10%"} };
- _UTF = false;
- }
- else {
- _UTE = UDOD["style"];
- _USE = { "onmousedown": UDOM ? UDOM.onmousedown : null,
- "style": { "cssText": _UTE["cssText"] + ";", "width": _UTE.width, "height": _UTE.height, "top": _UTE.top, "left": _UTE.left, "display": "block" }, "width": _UED["CW"], "height": _UED["CH"]
- };
- _UCE = { "title": "缩小",
- "onmousedown": UDOM ? (function(){UDOM.onmousedown], [U.UF.F.DragElement(UDOD, UDTD, cb, UDOM, _USE)}) : null,
- "style": { "top": "0px", "left": "0px", "width": (_UW - _UED["PD"][1] - _UED["PD"][3] - _UED["BD"][1] - _UED["BD"][3]) + "px",
- "height": (_UH - _UED["PD"][0] - _UED["PD"][2] - _UED["BD"][0] - _UED["BD"][2]) + "px"
- }
- }; //_UED["PXT"] + _UED["PXL"] +
- }
- (UDOM) && (UDOM.onmousedown = _UCE.onmousedown);
- (UDTD) && ($(UDTD).addAttrArray({ "onclick": [[U.UF.F.windowZooming, [UDOD, UDTD, cb, UDOM, _USE]]], "title": _UCE["title"] })); //拖动 //全屏或者恢复调用
- UDOD.style.display = "block";
- $(UDOD).animate(_UCE.style, 150, function () {
- var _UED = U.UF.C.GetPDWH(UDOD); U.UF.F.withf(cb, [_UED["CW"], UDOD["CH"], _UTF]);
- }); //窗体大小设置 //回调大小设置
- }*/
- //最大化移动窗体
- /**
- * 放大窗体
- *
- * @param {number} 数字1
- * @param {number} 数字2
- * @param {boolean} 返回数字1是否大于数字2
- * @param {number} 数字2
- * @param {boolean} 返回数字1是否大于数字2
- */
- /*U.UF.F.DragElement = function (UDOD, UDTD, cb, UDOM, UST) {
- if (U.UF.F.DragMouseDown.ST) {
- U.UF.F.DragMouseDown.ST.set({ move: function (UTE) { //缩小使用
- var _UW = US.width,
- _UE = U.UF.C.getMousePosition(UDOD);
- (!UST.width) && (UST.width = US.width * 0.8);
- (!UST.height) && (UST.height = US.height * 0.8);
- U.UF.C.AddObj(UST["style"], {
- "top": "0px", "left": Math.min(Math.max((_UE["X"] - UST.width / 2), 0), (_UW - UST.width)) + "px"
- }); //设置位置大小
- U.UF.F.windowZooming(UDOD, UDTD, cb, UDOM, UST);
- (UTE && UTE.move) && (UTE.move = null); //设置大小
- }
- });
- }
- }*/
- //窗体最小化
- /*U.UF.F.windowMinimize = function (UDOD) {
- UDOD = U.selectEl(UDOD);
- var i, _UCE, _UW = US.width,
- _UH = US.height,
- _UGE = UDOD.getElementInfo();
- _UDE = { "cssText": UDOD[0].style.cssText, "display": "none" };
- UDOD.animate({ "cssText": "overflow:hidden;left:0px;top:" + ((_UH - _UGE["OH"] + 100) / 2) + "px;width:" + (Math.min(_UGE["OW"] / 3, 100)) + "px;height:" + (Math.min(_UGE["OH"] / 3, 100)) + "px;opacity:0.8" }, 200, function(){UDOD.css("cssText", _UDE.cssText]], [UDOD.css, ["display", _UDE.display);});
- (parent.U.MD.N) && (setTimeout(function () { parent.U.MD.N.UrlWrite([], ""); }, 0));
- }
- */
- //关闭窗口
- /*U.UF.F.closeWindow = function (UDOD, UTF) {
- var _UDTD = U.selectEl(UDOD);
- (_UDTD.css("display") != "none") && (_UDTD.fadeIn(150, UTF == "remove" ? function () {
- _UDTD.remove(); _UDTD = null;
- } : "")); //移除
- (parent.U.MD.N && UTF !== true) && (parent.U.MD.N.UrlWrite([], ""));
- (U.D && U.MD.D.Tb && U.MD.D.T.taskbars) && (U.MD.D.T.taskbars.close(UDOD)); //异步url重写
- (U.UF.F._closes.indexOf(UDOD) == -1) && (U.UF.F._closes.push(UDOD));
- setTimeout(function(){U.UF.F.closefun(UDOD);}, 0); //删除处理区
- }
- */
- //窗口居中
- /*U.UF.F.windowTopCenter = function (UDOD, cb) {
- var i, _UL, _UT, _UW, _UH,
- _UTF = U.selectEl(UDOD).css("display") == "none",
- _UDE = U.selectEl(UDOD).addAttrArray({ "style": { "display": "block"} })[0],
- _UDPD = U.UF.C.TOSP(UDOD), _UW = _UDPD.offsetWidth || US.width,
- _UH = _UDPD.offsetHeight || US.height;
- _UL = (_UW - _UDE["offsetWidth"]) / 2 + _UDPD["scrollLeft"];
- _UT = (_UH - _UDE["offsetHeight"]) / 2 + _UDPD["scrollTop"];
- if (U.UF.F._index[2] && U.UF.F._index[2] !== UDOD && Math.floor(_UL) == U.UF.F._index[2].offsetLeft && Math.ceil(_UT) == U.UF.F._index[2].offsetTop) { _UL += 20; _UT += 20; }
- U.UF.F._index[2] = UDOD;
- U.UF.F.topWindow($(UDOD).addAttrArray({ "style": { "cssText": "left:" + _UL + "px;top:" + _UT + "px;z-index:" + ((parent.US.ZINDEX ++) + 1)} })[0]);
- (U.UF.C.isFunction(cb)) && (cb());
- (_UTF && UDOD.onresize) && (UDOD.onresize()); //定位
- }*/
- //窗体置顶
- /*U.UF.F.topWindow = function (UDOD, UTF) {
- (U.UF.Ut.isEvent(UDOD)) && (UDOD = null);
- UDOD = UDOD || U.UF.F.GetEE();
- var i, _UDPD,
- _UDE = U.UF.F.getWindow(UDOD);
- if (UTF !== true) {
- setTimeout(function(){U.UF.F.topWindow(UDOD || _UDE[0], true);}, 0);
- }
- else {
- if (_UDE && _UDE.length) {
- for (i = 0; i < _UDE.length; i++) {
- if (((_UDPD = U.selectEl(_UDE[i]).Parent()) && (_UDPD == document.body || _UDPD.id == "usestudio-server" || _UDPD.id == "UD_SY")) && U.selectEl(_UDE[i]).attr("__top__") != "false" && (!UTF == true || U.UF.F._closes.indexOf(_UDE[i]) == -1)) { //置顶判断
- $(_UDE[i]).addAttrArray({ "style": { "cssText": "z-index:" + (((US || parent.US).ZV++) + 1) + ";display:block"} })
- }
- };
- }
- return parent.US.ZINDEX ;
- }
- }
- */
- //获取顶层窗体
- /*U.UF.F.getWindow = function (UDOD) {
- var i, _UCE = [],
- _UDTD = UDOD,
- _UDBD = document.body,
- _UDSD = U.selectEl("#UD_SY")[0] || U.selectEl("#usestudio-server")[0] || _UDBD;
- if (_UDSD) {
- while ((_UDTD = U.UF.C.TOSP(_UDTD, true, "absolute")) && (_UDTD && (_UDTD != _UDSD && _UDTD != _UDBD))) {
- _UCE.push(_UDTD);
- _UDTD = _UDTD.parentNode;
- }
- return _UCE; //.slice(0, -1);
- }
- }*/
- //主处理分层次系统
- /*U.UF.F.clickTopWindow._UFN = function (cb, UTF) { //处理函数
- //页面置顶处理
- // try { this.focus(); } catch (e) { }
- if (U.UF.F.isTop) { clearTimeout(U.UF.F.isTop); }
- else {
- if (UTF && !U.UF.F.isTop) {
- U.UF.F.isTop = setTimeout(function () {
- (cb || top.U.UF.F.topWindow)(null, true);
- U.UF.F.isTop = false;
- }, 0); return;
- }
- else if (!U.UF.F.isTop) {
- (cb || top.U.UF.F.topWindow)(null, true);
- (event && event.type == "mousedown") && (U.UF.F.isTop = true);
- }
- else if (U.UF.F.isTop == true) { U.UF.F.isTop = false; }
- }
- U.UF.F.isTop = setTimeout(function () {
- U.UF.F.isTop = false;
- }, 0);
- }*/
- //获取置顶元素
- U.UF.F.GetEE = function () {
- var _UE = window.event;
- if (!_UE) { return document.activeElement; }
- return _UE.srcElement;
- }
- ////#region 拉伸窗体
- ////虚拟框
- //U.UF.F.maskFrame = function () {
- // return $$("div", { "style": { "cssText": "width:100%;height:100%;position:absolute;top:0;left:0;"} }, document.body);
- //}
- ///*
- //* 拖动框
- //*
- //* @param {element} 需要创建虚拟框的元素
- //* @param {object} 元素的位置
- //----------参数为getElementInfo 返回值
- //*/
- //U.UF.F.foundVirtualBox = function (UDOD, UE) {
- // UDOD = U.selectEl(UDOD);
- // UE = UE || UDOD.getElementInfo(); //获取元素的位置
- // return $$("div", { "style": { "cssText": "pointer-events:none;border:2px solid Gray;position:absolute;top:" + (UE["OT"] - 2) + "px;left:" + (UE["OL"] - 2) + "px;width:" + (UE["OW"]) + "px;height:" + (UE["OH"]) + "px;z-index:" + (US.ZINDEX + 10)} }, UDOD.Parent());
- //}
- ///*
- //* 拉伸函数处理
- //*
- //* @param {element} 需要拉伸的元素
- //* @param {function} 拉伸回调函数
- //----------参数为getElementInfo 返回值
- //*/
- //U.UF.F.AddOM = function (UDOD, cb) {
- // if (!$(".UD_W_WT", UDOD)[0]) { //拉伸对象不存在
- // var i,
- // _UTE = U.UF.F.RCDG(UDOD, null, cb), //创建拉伸处理
- // _UTP = "UD_W_WT",
- // _UDE = [["H", "up"], ["MR", "right"], ["B", "down"], ["ML", "left"], ["HL", "topright"], ["BR", "bottomright"], ["BL", "bottomleft"], ["HR", "topleft"]], //拉伸所有的监视 和 className 的设置
- // _UDTD = $$("div", { "className": "UD_W_WT" }); //新建立一个容器
- // for (i = 0; i < _UDE.length; i++) { //添加上下左右处理元素
- // $$("div", { "className": _UTP + "_" + _UDE[i][0], "onmousedown": _UTE.set(_UDE[i][1]) }, _UDTD);
- // }
- // UDOD.appendChild(_UDTD); //添加拉伸元素
- // }
- //}
- ///*
- //* 拉伸执行
- //*
- //* @param {element} 需要拉伸的元素
- //* @param {string} 需要调用的回调
- //* @param {function} 拉伸回调函数
- //----------参数为getElementInfo 返回值
- //*/
- //U.UF.F.RCDG = function (UDOD, UTF, cb) {
- // return new U.UF.F.RCDG.init(UDOD, UTF, cb);
- //}
- ///*
- //* 拉伸执行
- //*
- //* @param {element} 需要拉伸的元素
- //* @param {string} 需要调用的回调
- //* @param {function} 拉伸回调函数
- //*/
- //U.UF.F.RCDG.init = function (UDOD, UTF, cb) { //拖动的拉伸
- // /*
- // 注释:
- // -----cb 回调函数
- // -----UDOD 拉伸的原函数
- // */
- // U.UF.C.AddObj(this, { cb: cb, UDOD: UDOD });
- // (UTF) && (this.set(UTF)); //设置回调
- //}
- //U.UF.F.RCDG.init.prototype = {
- // /*
- // * 拉伸执行
- // *
- // * @param {element} 需要拉伸的元素
- // * @param {string}
- // * @param {function} 拉伸回调函数
- // */
- // set: function (UTF) {
- // var i, _UDMD,
- // _UDOD = this.UDOD,
- // _UE = U.UF.EL.getElementInfo(_UDOD), //当前位置
- // _UDE = [["move", UTF], ["up", "mup"]];
- // if (UTF && event.button != 2 && (_UE["OH"] != US.height || _UE["OW"] != US.width)) { //非右键
- // //内部使用变量设置
- // U.UF.C.AddObj(this, {
- // UMD: (_UDMD = U.UF.F.maskFrame()), //拉伸虚拟框
- // UTF: UTF, //拖动时回调函数
- // UTOD: U.UF.F.foundVirtualBox(_UDOD), //虚拟框
- // E: _UE, //当前的位置大小
- // H: _UE.H, //原高
- // W: _UE.W, //原长
- // T: _UE.OT, //原top
- // L: _UE.OL//原left
- // });
- // this.UTOD.setCapture(); //创建使用的变量
- // //虚拟框和拖动看置顶
- // U.UF.F.topWindow(this.UTOD);
- // U.UF.F.topWindow(_UDMD); //虚拟框
- // //拖动元素监视
- // for (i = 0; i < _UDE.length; i++) {
- // document["onmouse" + _UDE[i][0]] = U.UF.C.apply(this, [[this[_UDE[i][1].toLocaleLowerCase()]]]);
- // }
- // //返回拖动对象
- // return this; //设置拉伸
- // }
- // },
- // //向上拉伸
- // up: function () {
- // var _UE = U.UF.EL.getMousePosition(), //获取鼠标的位置
- // _UT = Math.min(Math.max(_UE["Y"], 0), this.T + this.H - 4), //获取拉伸头部的top位置
- // _UH = this.H + (this.T - _UT); //计算高度
- // U.selectEl(this.UTOD).addAttrArray({ "style": { "cssText": "top:" + (_UT - 2) + "px;height:" + (_UH) + "px"} }); //设置样式
- // },
- // //下面拉伸
- // down: function () {
- // var _UE = U.UF.EL.getMousePosition(); //鼠标所在的位置
- // _UE["Y"] = Math.max(Math.min(_UE["Y"], US.height), this.T); //获取拉伸的位置
- // this.UTOD.style.height = (_UE["Y"] - this.T) + "px"; //拉伸后的大小处理
- // },
- // //左边拉伸
- // left: function () {
- // var _UE = U.UF.EL.getMousePosition(), //鼠标所在的位置
- // _UL = Math.min(Math.max(_UE["X"], 0), this.L + this.W - 4), //左边位置处理
- // _UW = this.W + this.L - _UL; //长度变化
- // U.selectEl(this.UTOD).addAttrArray({ "style": { "cssText": "left:" + (_UL - 2) + "px;width:" + (_UW) + "px"} });
- // },
- // //右边
- // right: function () {
- // var _UE = U.UF.EL.getMousePosition(); //鼠标所在的位置
- // _UE["X"] = Math.max(Math.min(_UE["X"], US.width), this.L); //右边位置处理
- // this.UTOD.style.width = (_UE["X"] - this.L) + "px"; //内容大小处理
- // },
- // //左上
- // topleft: function () {
- // this.up(); //向上拉伸
- // this.left(); //左边拉伸
- // },
- // //右上
- // topright: function () {
- // this.up(); //向上拉伸
- // this.right(); //右边拉伸
- // },
- // //左下
- // bottomleft: function () {
- // this.down(); //向下拉伸
- // this.left(); //向左拉伸
- // },
- // //右下
- // bottomright: function () {
- // this.down(); //向下拉伸
- // this.right(); //右边拉伸
- // },
- // //结束拉伸
- // mup: function () {
- // var i, _UPE = this.E.PD,
- // _UBE = this.E.BD,
- // _UDTD = U.selectEl(this.UTOD), //拉伸元素
- // _UCE = U.UF.EL.getElementInfo(this.UTOD), //拉伸元素的大小
- // _UDE = [_UCE["W"], _UCE["H"]];
- // //设置得到的位置和大小
- // for (i = 0; i < _UPE.length; i++) {
- // _UDE[(i + 1) % 2] -= (_UPE[i] + _UBE[i]);
- // }
- // //设置拉伸元素
- // U.selectEl(this.UDOD).addAttrArray({ "style": { "cssText": "left:" + (_UCE["OL"] + 2) + "px;top:" + (_UCE["OT"] + 2) + "px;width:" + _UDE[0] + "px;height:" + _UDE[1] + "px"} }); //设
- // //清空
- // U.selectEl(_UDTD).remove();
- // _UDTD[0].releaseCapture();
- // document.onmousemove = document.onmouseup = null;
- // U.selectEl(this.UMD).remove();
- // //回调设置
- // U.UF.F.withf(this.cb, _UDE); //清空 //执行回调
- // }
- //}
- ///*
- //* 回调执行
- //*
- //* @param {object} 回调函数或者参数
- //* @param {object} 回调的参数
- //*/
- //U.UF.F.withf = function (UAE, UDE) {
- // if (UAE) {
- // var i, j, k, _UCE, _UDOD,
- // _UKE = {};
- // for (i in UAE) {
- // if (UAE.hasOwnProperty(i)) {
- // //处理元素共同变化处理 这个会更加最大拖拉的元素 自适应
- // if (i == "with") {
- // for (j = 0; j < UAE[i].length; j++) {
- // _UCE = UAE[i][j];
- // _UDOD = _UCE["Element"]; //获取需要变化的元素集
- // for (k in _UCE) {
- // if (_UCE.hasOwnProperty(k) && k != "Element") { //变化的样式处理
- // _UKE[k] = _UCE[k] + UDE[k == "width" ? 0 : 1];
- // }
- // }
- // U.selectEl(_UDOD).addAttrArray({ style: _UKE });
- // }
- // }
- // //直接回调自己处理
- // else { U.UF.C.apply(null, UAE[i])(UDE); } //执行回调
- // }
- // }
- // }
- //}
- ////#endregion
- /**
- * style样式转换 如 text-align => textAlign 或者相反的换
- *
- * @param {array} 进行操作的对象
- * @param {string} 确定循环范围
- */
- /*U.UF.EL.styleConversion = function (UST, UTF) {
- UTF = UTF ? [/[A-Z]/g, "-", 0, "toLowerCase"] : [/-[a-z ]/g, "", 1, "toUpperCase"]; //转换的样式或者属性
- return UST.replace(UTF[0], function (UMS) { //利用正则转换
- return UTF[1] + UMS.charAt(UTF[2])[UTF[3]]();
- });
- }*/
- /**
- * 获取鼠标位置
- *
- * @param {element} 相对对象
- * @param {element} 进暂无使用行操作的对象
- * @return {array} 过渡属性的值
- */
- /*U.UF.C.GetMousep = function (UDOD, UDTD) {
- var _UE = U.UF.EV.getEventSource(), //获取MouseEvent
- _UET = (_UE.touches && _UE.touches[0]) ? _UE.touches[0] : _UE, //如果是手机点击则获取touches[0]对象
- _UDE = { "X": _UET.clientX || _UET["pageX"] || 0, "Y": _UET.clientY || _UET["pageY"] || 0 }, //储存坐标的对象
- _UGE = { BCRL: 0, PXL: 0, BCRT: 0, PXT: 0 }; //用于储存数据sss
- (UDTD || UDOD) && (_UGE = UDTD || U.UF.EL.offsetParent(UDOD, true),
- _UGE = U.UF.EL.getElementInfo(_UGE)); //获取相对元素的位置
- U.UF.C.AddObj(_UDE, { "TX": _UGE.BCRL - _UGE.PXL, "TY": _UGE.BCRT - _UGE.PXT }); //获取位置与上级相对位置
- U.UF.C.AddObj(_UDE, { "X": _UDE["X"] - (_UDE["TX"] || 0), "Y": _UDE["Y"] - (_UDE["TY"] || 0), "MX": _UDE.X, "MY": _UDE.Y }); //设置值
- return _UDE;
- }*/
- ///**
- //* 统一处理函数,解决闭包添加事件的问题
- //* 使用apply,把事件与属性添加到对象上,而不是添加到window顶级对象。使用apply而不是call,是因为apply第二个参数可以传递参数数组,代码更少。
- //* 调用方法 U.UF.C.apply(this,'执行函数的事件') 例如 U.UF.C.apply(this,'this.style.display="none"');
- //*解决作用域的问题函数名称为:U.FC.C.apply,主要用于在javascript中实现类的功能
- //* @param {object} 将要绑定事件与属性的对象,如没有,可以传递null或者this,此处还需要优化,很多地方都会调用此函数,会导致速度降低。
- //* @param {object} 函数与参数组成的数组。
- //案例:U.FC.C.apply(this,function(){}); //this用dialog做案例.
- //案例: U.FC.C.apply(element,function(){});
- //*/
- //U.UF.C.apply = function (retElement, obj) {
- // //retElement 将要绑定事件与属性的对象,如没有,可以传递null或者this,此处还需要优化,很多地方都会调用此函数,会导致速度降低。
- // //obj 时间和属性组成的参数数组
- // return function () {
- // if (obj) {
- // var i, //循环初始化
- // j, //循环初始化
- // _URE,
- // _UAE,
- // _UTE = (retElement) || this,
- // _UME = Array.prototype.slice.apply(arguments); //arguments 转化成数组
- // if (typeof obj == "string") { _URE = (new Function(obj)).apply(_UTE, _UME); }
- // else if (typeof obj == "function") { _URE = obj.apply(_UTE, _UME); }
- // else {
- // for (i = 0; i < obj.length; i++) {
- // if (obj[i] && obj[i][0]) { //函数存在
- // _UAE = obj[i][1];
- // (!_UAE) && (_UAE = []);
- // (!U.UF.Ut.isEvent(_UME[0]) || _UME.length > 1) && (_UAE = _UAE.concat(_UME)); //event == null ||
- // //循环添加至
- // for (j = 0; j < _UAE.length; j++) {
- // if (typeof _UAE[j] == "string") {
- // try {
- // if (_UAE[j].indexOf(this) > -1 || _UAE[j].indexOf("retElement") > -1 || _UAE[j].indexOf("event") > -1) { _UAE[j] = eval("0,(" + _UAE[j] + ")"); } //制定参数解析
- // else if (U.UF.S.Num.test(_UAE[j])) { _UAE[j] = Number(_UAE[j]); } //数字转化
- // } catch (e) { U.UF.C.console(e); }
- // }
- // }
- // try {
- // if (U.UF.C.isString(obj[i][0])) {
- // _URE = eval(obj[i][0]).apply(_UTE, _UAE); //eval效率不高 特殊情况才用
- // }
- // else if (U.UF.C.isFunction(obj[i][0])) { _URE = obj[i][0].apply(_UTE, _UAE); }
- // }
- // catch (e) { U.UF.C.console(e); } //函数执行错误
- // }
- // }
- // }
- // return _URE;
- // }
- // //直接掉function(){},不传递obj参数时,返回false。
- // else { return false; }
- // }
- //}
- /**
- * 修改设置制定样式后获取所有设置的元素
- *
- * @param {element} 元素
- * @param {string} 获取的类型
- * @param {string} 是添加还是移除属性
- -----------De 移除属性
- * @param {object} 设置的属性
- * @return {array} 通过参数2获取的元素
- */
- /*U.UF.EL.SetElement = function (UDE, UTP, URE, UTF) {
- if (UDE) {
- (typeof (UDE) == "string") && (UDE = $$("div", { "innerHTML": UDE }));
- UDE = UDE || document;
- var i, //用于循环
- _UFT,
- _UAE,
- _UDOD,
- _UMS = "",
- _UCE = [];
- UTP = (UTP == "*" || !UTP) ? "&*" : UTP; //需要获取的值
- if (UTF) {
- for (i in UTF) {
- UTP += ("[" + i + (UTF[i] ? ("=" + UTF[i]) : "") + "]"); //属性选择
- }
- }
- if ((_UAE = U.selectEl(UTP, UDE)) && UTF !== false && URE) { //设置
- _UCE = _UAE[(_UFT = URE == "De") ? "remove" : "addAttrArray"](_UFT ? null : URE);
- }
- (URE == "De") && (_UCE = [_UCE.length > 0 ? _UCE : _UAE, UDE]); //如果为删除返回两个值 一个是选中的值 一个是传入的元素集
- return _UCE;
- }
- return [];
- }*/
- /*
- ** 作用:修改设置指定样式后获取所有设置的元素
- ** @param {element} el 获取需要修改样式的元素
- ** @param {element} key 获取属性的名
- ** @param {boolean} b 如果b为true,则设置元素属性
- ** @param {element} value 获取属性的value值
- ** 实例:console.log(U.UF.EL.SetElement($("script")[0], 'key', true, 'value'))//设置属性
- ** console.log(U.UF.EL.SetElement($("script")[0], 'key'))//获取属性
- */
- U.UF.EL.SetElement = function (el, key, b, value) {
- var i; // 用于循环
- if (el) { // 判断元素是否存在
- if (b === true) { // 如果b为true 则设置元素属性
- el.setAttribute(key, value);
- return el.getAttribute(key) // 返回元素的属性值
- }
- for (i = 0; i < el.attributes.length; i++) { // 循环元素的属性
- if (el.attributes[i].nodeName === key) { // 判断元素的属性名是否跟key相同
- return el.attributes[i].nodeValue // 返回获取的元素的属性值
- }
- }
- }
- return 0
- }
- /**
- * 根据ID获取指定的祖先元素
- *
- * @param {element} 当前元素
- * @param {string} 祖先元素的id
- * @return {element} 祖先元素
- */
- /*U.UF.EL.getAncestor = function (UDOD, UTID) {
- while (UDOD && !(UDOD == UTID || UDOD.id == UTID)) { //递归寻找父级
- UDOD = UDOD.parentNode;
- }
- return UDOD;
- }
- number: /\(([\s\S]*?)\)/, //数字的使用
- ename: /=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*/g, //[]选择符的使用
- escape: /(&|![\w\u00c0-\uFFFF\-]|\@[\w\u00c0-\uFFFF\-]+=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*)/g, //需要转义的正则
- nregular: /[>|+|~]/g, //伪类选择
- con: /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, //通用符的使用
- className: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, //className的定义
- id: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, //id的定义
- name: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, //name选择符处理
- attr: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- tagName: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, child: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, //标签选择符处理
- pos: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, //子元素选择器
- pseudo: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
- /**
- * 获取元素的位置大小
- *
- * @param {element} el 元素
- * @return {object} 返回元素的位置 函数内有详细的注释
- */
- U.UF.EL.getElementInfo = function (el) {
- // UDOD要获取位置的元素
- if (el) {
- var i, //用于循环
- _arr, //存放所有数据的集合
- _arrbd, //用于获取元素的border属性
- _arrpd = [], //用于获取元素的padding属性
- _arrwh = [], //储存width、height变量
- _arroffset = ["Top", "Right", "Bottom", "Left"], //用于连接字符串 获得offset属性
- _elgetbc = el.getBoundingClientRect(), //返回一个矩形对象
- _elxy = U.UF.M.pageXY(el), //获取UDOD的位置
- _elp = U.UF.EL.offsetParent(el); //获取元素offsetParent
- for (i = 0; i < _arroffset.length; i++) { //筛选 padding 和 border
- _arrpd[i] = U.UF.EL.getStyle(el, "padding" + _arroffset[i]).toInt(); //总元素padding属性为获取元素指定的样式padding加上offset属性的整型
- //_arrwh[i] = (_arrbd = U.UF.EL.getStyle(el, "border" + _arroffset[i] + "Width").toInt()).length ? 0 : _arrbd;
- if ((_arrbd = U.UF.EL.getStyle(el, "border" + _arroffset[i] + "Width").toInt()).length) {//判断是否拥有元素的指定样式border和width两个属性
- _arrwh[i] = 0; //存储border和width变量的则为0
- } else {
- _arrwh[i] = _arrbd//否则,则获取和元素的padding属性一样的值
- }
- }
- _arr = {
- PD: _arrpd, //元素的padding
- BD: _arrwh, //元素的border
- PXT: (document.documentElement.scrollTop) + _elp.scrollTop, //滚动条top位置
- PXL: (document.documentElement.scrollLeft) + _elp.scrollLeft, //滚动条left位置
- SH: el.scrollHeight, //包含滚动掉的高度
- SW: el.scrollWidth, //包含滚动条的长度
- SL: el.scrollLeft, //滚动条向左的位置
- ST: el.scrollTop, //滚动条向右的位置
- CH: el.clientHeight, //页面不包含 border padding宽度
- CW: el.clientWidth, //页面不包含 border padding长度
- CT: el.clientTop, //页面margin + top的高度
- CL: el.clientLeft, //页面margin + left的长度
- OH: el.offsetHeight, ///页面包含 border padding宽度
- OW: el.offsetWidth, //页面包含 border padding长度
- OL: el.offsetLeft, //页面left的长度
- OT: el.offsetTop, //页面top的高度
- BCRH: _elgetbc.bottom - _elgetbc.top, //元素的显示高度
- BCRW: _elgetbc.right - _elgetbc.left, //元素的显示长度
- BCRT: _elgetbc.top, //元素的显示top
- BCRL: _elgetbc.left, //元素的显示left
- BCRB: _elgetbc.bottom, //元素的显示bottom
- BCRR: _elgetbc.right, //元素的显示right
- TX: _elxy[1], //元素的显示高度
- TY: _elxy[0]//元素的显示高度
- };
- _arr.H = _arr["OH"] - _arr["PD"][1] - _arr["PD"][3] - _arr["BD"][1] - _arr["BD"][3]; //原宽度 不包含所有的border padding margin
- _arr.W = _arr["OW"] - _arr["PD"][0] - _arr["PD"][2] - _arr["BD"][0] - _arr["BD"][2] //原长度 不包含所有的border padding margin
- // U.UF.C.AddObj(_arr, {
- // H: _arr["OH"] - _arr["PD"][1] - _arr["PD"][3] - _arr["BD"][1] - _arr["BD"][3], //原宽度 不包含所有的border padding margin
- // W: _arr["OW"] - _arr["PD"][0] - _arr["PD"][2] - _arr["BD"][0] - _arr["BD"][2] //原长度 不包含所有的border padding margin
- // });
- return _arr;
- }
- return {};
- }
- ///**
- //* resize变化处理 包含了resizestart endresize 由于resize会出发多次 所有这里可分为 start 和 end
- //*
- //* @param {object} resize对象
- //*/
- //U.UF.EV.resize = function (obj) {
- // var _obj = new U.UF.EV.resize.init(obj); //初始化监视
- // return U.UF.C.apply(_obj, _obj.exec); //设置执行的方式
- //}
- ///**
- //* resize方法函数
- //*
- //* @param {object} resize对象
- //*/
- //U.UF.EV.resize.init = function (obj) {
- // U.UF.C.AddObj(this, this.u = obj); //添加事件监视
- //}
- ///**
- //* resize方法
- //*
- //*/
- //U.UF.EV.resize.init.prototype = {
- // exec: function () { //执行resize处理
- // this.start(); //onresize回调处理
- // (this.ti) && (clearTimeout(this.ti)); //取消end监视
- // this.ti = setTimeout(function () { this.end(); }, 0); //end处理
- // (U.UF.C.isFunction(this.u)) && (this.u()); //end事件等待
- // },
- // start: function () {
- // this.iss = true; //设置已经start
- // (!this.iss && this.s) && (this.s()); //函数回调
- // },
- // end: function () {
- // this.iss = false; //end结束
- // (this.e) && (this.e()); //resizeend处理
- // }
- //}
- var i, j, k, _UNE, _UTP, _UVE, _UAE, _UST, _UTE = this, i = item || 0, _UL = item + 1 || this.length, _UGE = { "class": "className", "html": "innerHTML", "text": "innerText", "float": "cssFloat" }, _UME = ["width,height,top,bottom,left,right", "px"];
- for (; (i < _UL && i < this.length); i++) {
- for (j in UDE) {
- if (UDE.hasOwnProperty(j)) {
- if (j == "style") { //style赋值
- _UVE = ""; _UAE = UDE[j];
- for (k in _UAE) { //添加cssText
- if (_UAE.hasOwnProperty(k)) {
- _UTP = U.UF.EL.styleConversion(k, true); _UNE = _UAE[k];
- if ((k in this[i][j]) && (_UTP == "css-text" || _UAE[k]) && this[i].cloneNode) {
- if (_UTP == "css-text") { _UVE = _UAE[k] + ";" + _UVE; } //cssText赋值
- else { (_UME[0].split(",").indexOf(_UTP, null, true) > -1 && U.UF.C.isStringInt(_UNE)) && (_UNE += _UME[1]); _UVE += _UTP + ":" + _UNE + ";"; } //单个属性赋值
- continue;
- }
- this[i][j][U.UF.EL.styleConversion(k)] = _UAE[k] || "";
- }
- }
- (_UVE != null) && (this[i][j]["cssText"] += ";" + _UVE); //添加css值
- }
- else { //其它属性赋值
- if (j.indexOf("on") == 0 && "array,string".indexOf(U.UF.C.getType((_UVE = UDE[j]))) > -1) {
- ((_UVE = UDE[j]) && typeof _UVE[0] == "function") && (_UVE = [_UVE]);
- UDE[j] = U.UF.C.apply(this[i], _UVE);
- } //事件特殊处理
- if (typeof (_UAE = this[i])[j] == "object" && typeof UDE[j] == "object") { U.UF.C.AddObj(_UAE[j], UDE[j]); } //object赋值
- else { if (_UAE[j] !== UDE[j]) { _UST = _UAE[j]; k = _UGE[j] || j; if (U.UF.C.isString((_UVE = UDE[j])) && U.UF.EL.isCustomAttributes(_UAE, k)) { try { _UAE.setAttribute(k, _UVE); } catch (e) { } } _UAE[k] = UDE[j]; } } //非原属性下的
- }
- }
- }
- }
-
- /**
- * 获取大小位置
- *
- * @param {element} 元素
- * @return {object} 获取元素的大小
- */
- U.UF.EL.getElementInfo = function (el) {
- var i, _UST, //i用于循环 _UST用于存放width和height
- _UDTD = U.selectEl(el), //获取当前元素
- _UPE = [], //用于存放padding的大小
- _UBE = [], //用于存放border的大小
- _UAE = ["Top", "Right", "Bottom", "Left"]; //用于存放top、left、right、bottom的属性
- //获取padding border
- for (i = 0; i < _UAE.length; i++) {//循环四周有没有padding和border的top、left、right、bottom属性
- _UPE[i] = _UDTD.css("padding" + _UAE[i]).toInt(); //把当前元素获取到的padding属性的大小存放在数组中
- _UBE[i] = _UDTD.css("border" + _UAE[i] + "Width").toInt(); //把当前元素的border属性的大小存放在数组中
- (_UBE[i].length) && (_UBE[i] = 0); //border的长度并且border的长度不为0
- }
- //获取长宽
- _UAE = ["width", "height"]; //用于存放width、height的属性
- for (i = 0; i < _UAE.length; i++) {//循环width和height
- _UST = _UAE[i]; _UAE[i] = _UDTD[_UST]();
- }
- //返回大小处理
- return {
- "PD": _UPE, //padding
- "BD": _UBE, //border
- "OW": _UAE[0] + _UPE[1] + _UPE[3] + _UBE[1] + _UBE[3], //包含padding border 的长
- "OH": _UAE[1] + _UPE[0] + _UPE[2] + _UBE[0] + _UBE[2], //包含padding border 宽
- "CW": _UAE[0], //不包含padding border 宽
- "CH": _UAE[1]//不包含padding border 宽
- };
- }
- //,
- // animate: function (UDE, USP, cb, UIF, UGE) { //css3动画效果和js原始动画 动画排队
- // if (UDE) {
- // var i, j, k, _UTE, _UKW, _USE, _UE, _UDID, _UTID, _UME,
- // _UL = UIF + 1 || this.length,
- // _UDSD = $$("div").style,
- // _UAE = [{ "style": {} }, "", {}],
- // _UCE = ["width", "height", "top", "bottom", "left", "right"],
- // _UBE = U.UF.CI.getBrowser(), _UTF = _UBE.browser == "msie" && parseInt(_UBE["ver"]), _USD = { "fast": 300, "normal": 1000, "slow": 3000}[USP], _UAF = UDE["IES"]; delete UDE["IES"]; _USD = _USD || USP || 1000;
- // for (i in UDE) { if (UDE.hasOwnProperty(i)) { if (_UDSD[(_UKW = U.UF.EL.styleConversion(i))] === undefined) { _UAE[0][i] = UDE[i]; } else { _UAE[0]["style"][_UKW] = UDE[i]; if (_UKW == "cssText") { _UAE[1] += UDE[i] + ";"; } else { _UAE[1] += (_UKW = U.UF.EL.styleConversion(i, true)) + ":" + UDE[i] + ";"; for (j = 0; j < _UCE.length; j++) { if (_UCE[j] == i || _UKW.indexOf(_UCE[j]) > -1) { _UAE[2][_UKW] = ""; break; } } } } } } //设置css3动画和js动画
- // for (i = (UIF || 0); i < _UL; i++) { _USE = ""; for (j in _UAE[2]) { if (UDE.hasOwnProperty(j)) { j += j.indexOf("padding") > -1 ? "-width" : ""; _UE = this.css(j, null, i); _UE = isNaN(_UE.toInt()) ? ((this[j] ? this[j](i) : 0) + "px") : _UE; _USE += j + ":" + _UE + ";"; } }; (_USE) && (this.addAttrArray({ "style": { "cssText": _USE} }, i)); } //设置初始值
- // if (_UTF && _UTF < 10 && _UAF == null) { this.addAttrArray(_UAE[0], UIF); (U.UF.C.isFunction(cb)) && (cb()); } //Ie8不动画 (cb) && (setTimeout(cb, 0));
- // else { //IE9以上动画渲染
- // if (((!_UTF || _UTF > 9) && (_UAE[1] || _UAE[0].className))) { //css3动画加速
- // _USE = U.UF.EL.GCssAe();
- // _UDID = "UEM" + Guid.guidNoDash();
- // _UE = _USE[0] + ":all " + (_USD / 1000) + "s linear;";
- // if (UGE) {
- // for (i in UGE) { _UE += _USE[0] + "-" + i + ":" + UGE[i] + ";"; }
- // }
- // _UE = "." + _UDID + " {" + _UE + "}"; //设置动画属性
- // this.bind(_USE[1], (_UTE = U.UF.C.apply(this, function () {
- // this.unbind(_USE[1], _UTE);
- // U.UF.EL.AsynCssEM.apply(this, [_UDID, _UDSD, cb, UIF]);
- // }))); //添加动画
- // _UDSD = U.UF.DL.LoadStyle(_UE);
- // U.select.IsAnimate(this, UIF, _UDID);
- // this.addClass(_UDID, UIF);
- // (_UAE[0].className) && (this.addClass(_UAE[0].className, UIF), delete _UAE[0].className);
- // this.addAttrArray(_UAE[0], UIF); delete _UAE[0].className; delete _UAE[0].style; //移除设置回调
- // }
- // for (i in _UAE[0]) {
- // if (_UAE[0].hasOwnProperty(i)) { //非css动画或者IE8动画
- // _UME = U.UF.C.Animation({ "cb": function () { this.Auxiliary.animate([UIF, _UL, _UTID, _USE ? null : cb], _UAE[0]); }, "ti": _USD }); //动画加速
- // U.select.IsAnimate(this, UIF, _UME);
- // break;
- // }
- // }
- // }
- // }
- // return this;
- // },
- // stop: function (item) { //停止动画回播
- // var _USE, i = item || 0,
- // _UL = item == null ? this.length : item + 1;
- // for (; i < _UL; i++) {
- // if ((_USE = this[i].__Animate__)) {
- // if (U.UF.C.isString(_USE[2])) {
- // this[i].className = _USE[2];
- // this.addClass(_USE[1], i);
- // this.css("cssText", _USE[0], i);
- // }
- // else {
- // _USE[2].stop();
- // }
- // }
- // }
- // },
- // opacity: function (UVE, item) { //设置透明度 全兼容
- // if (this.length) {
- // var i, _USE = {}, _UDE = { opacity: 1, "-webkit-opacity": 1, "-moz-opacity": 1, "-khtml-opacity": "", filter: "" };
- // for (i in _UDE) { if (i in this[0].style) { _USE[i] = (_UDE[i] = i == "filter" ? "alpha(opacity=" + (UVE * 100) + ")" : UVE); } }
- // }
- // },
- // fadeIn: function (USP, cb, item) {//动画淡出,,
- // var i, _UKE, _USE = {}, _UDOD = $$("div").style, _UDE = ["opacity", "-webkit-opacity", "-moz-opacity", "-khtml-opacity", "filter"]; cb = U.UF.C.apply(this, function () {
- // this.addAttrArray({ "style": (_UKE = { "display": "none" }) }, item);
- // cb();
- // }); //设置回调
- // for (i = 0; i < _UDE.length; i++) { if (_UDE[i] in _UDOD) { _UKE[_UDE[i]] = ""; _USE[_UDE[i]] = _UDE[i] == "filter" ? "alpha(opacity=0)" : "0"; break; } }; return this.animate(_USE, USP || "fast", cb, item); //查看
- // },
- // fadeOut: function (USP, cb, item) {//动画淡入
- // var i, _USE = {}, _UDOD = $$("div").style, _UDE = ["opacity", "-webkit-opacity", "-moz-opacity", "-khtml-opacity", "filter"]; for (i = 0; i < _UDE.length; i++) { if (_UDE[i] in _UDOD) { _USE[_UDE[i]] = _UDE[i] == "filter" ? "alpha(opacity=100)" : "1"; _UDE = _UDE[i]; break; } };
- // _USE[_UDE] = _UDE == "filter" ? "alpha(opacity=100)" : "1"; this.addAttrArray({ "style": { "display": "block"} }); return this.animate(_USE, USP || "fast", cb, item); //查看 _USE
- // },
- // slideUp: function (USP, cb, item) { //滑动消失
- // this.slideToggle(USP, cb, item);
- // },
- // slideDown: function (USP, cb, item) { //滑动出现
- // this.slideToggle(USP, cb, item, false);
- // }
- // on: function (UE, US, cb, item) { //事件绑定
- // var _UDE = this; (US) && (_UDE = this.find(US, item)); _UDE.bind(UE, cb, item);
- // },
- // off: function (UE, US, cb, item) { //取消事件绑定
- // var _UDE = this; (US) && (_UDE = this.find(US, item)); _UDE.unbind(UE, cb, item);
- // }
- // resize: function (cb, item) { //resize事件
- // this.bind("resize", U.UF.EV.resize(cb), item);
- // },
- // resizestart: function (cb, item) { //resoze开始
- // this.resize({ s: cb }, item);
- // },
- // resizeend: function (cb, item) { //设置sizeend
- // this.resize({ e: cb }, item);
- // },
- //#region 扩展选择器
- //U.select.fn.extend({
- //});
- // scrollTo: function (UT, UTI) {//移动变化
- // var _UDOD = this[0]; (_UDOD) && (U.UF.EV.scrollToPosition(UT, _UDOD, UTI));
- // }
- ////#region 事件监听区域
- //U.select.fn.extend({
- // cache: [], //保存对象使用选择器保留值
- // cacheE: function (UDOD) {//保存对象的值
- // var i, _UDE = U.select.fn.cache;
- // for (i = 0; i < _UDE.length; i++) { if (_UDE[i].UDOD === UDOD) { return _UDE[i]; } } //获取制定的元素绑定
- // this.events = {}; this.UDOD = UDOD; this.id = Guid.guidNoDash(); _UDE.push(this); return this; //添加事件监听对象
- // }
- //});
- //U.select.fn.cacheE.prototype = {
- // removeEvent: function (UDE, UAE) { //删除event
- // var i, j, _UME, _UDOD = this.UDOD, _UCE = this.events; (typeof UDE == "string") && (_UME = UDE, (UDE = {})[_UME] = UAE); UDE = UDE || _UCE;
- // for (i in UDE) { if (UDE.hasOwnProperty(i) && (_UME = _UCE[i])) { for (j = 0; j < _UME.length; j++) { if (_UME[j] == UDE[i] || _UCE == UDE || !UDE[i]) { U.UF.EV.delElementEvent(i, _UDOD, _UME.splice(j, 1)[0]); j--; } } } } //清除事件
- // },
- // addevent: function (UDE, UAE) { //添加event监听
- // var i, _UCE = this.events;
- // (!_UCE[UDE]) && (_UCE[UDE] = []); _UCE[UDE].push(UAE);
- // }
- //}
- ////#endregion
- ////window.$$.NS = function (UNE, UDE, UPE, UCE, UUE) { //创建带有命名空间的元素
- //// var _UDOD = U.selectEl(document.createElementNS(UUE || "http://www.w3.org/2000/svg", UNE));
- //// _UDOD.addAttrArray(UDE); (UPE) && (_UDOD.appendTo(UPE, 0, UCE)); return _UDOD[0]; //添加属性
- ////}
- ////#region 辅助函数
- ////U.select.fn.extend({
- //// selecte: {
- //// "only-child": function (UDE) { //获取作为单一孩子节点元素
- //// return Array.prototype.slice.call(U.select(UDE).only());
- //// },
- //// "nth-child": function (UDE, UTP) { //获取第几个元素
- //// var i, j, _UCE, _UN = UTP.match(this.match.number)[1], _UTF = _UN.indexOf("n") > -1, _UAE = []; _UN = _UN.toInt();
- //// if (!_UTF || _UN) {
- //// for (i = 0; i < UDE.length; i++) {
- //// _UCE = U.select(UDE[i]).parentElement().Child();
- //// if (_UTF) { for (j = _UN; j <= _UCE.length; j += _UN) { if (UDE[i] == _UCE[j - 1]) { _UAE.push(UDE[i]); (_UN == 1) && (j++); break; } } } //(xn)查找
- //// else { (_UCE[_UN - 1] == UDE[i]) && (_UAE.push(UDE[i])); } //直接获取第几个
- //// }
- //// }
- //// return _UAE;
- //// },
- //// "first-child": function (UDE) { //获取开头元素
- //// var i, _UAE = [];
- //// for (i = 0; i < UDE.length; i++) { (!U.select(UDE[i]).prev().lenght) && (_UAE.push(UDE[i])); }
- //// return _UAE;
- //// },
- //// "last-child": function (UDE) { //获取末尾元素
- //// var i, _UAE = [];
- //// for (i = 0; i < UDE.length; i++) { (!U.select(UDE[i]).next().length) && (_UAE.push(UDE[i])); }
- //// return _UAE;
- //// },
- //// first: function (UDE) { //获取第一个匹配的元素
- //// return UDE.length ? UDE[0] : UDE;
- //// },
- //// last: function (UDE) { //获取最后一个匹配元素
- //// return UDE.length ? UDE[UDE.length - 1] : UDE;
- //// },
- //// nth: function (UDE, UTP) { //获取匹配的第几个元素
- //// var i, _UAE = [], _UN = UTP.match(this.match.number)[1], _UTF = _UN.indexOf("n") > -1; _UN = _UN.toInt();
- //// if (_UTF || _UN) {
- //// if (_UTF) { for (i = _UN; i <= UDE.length; i += _UN) { _UAE.push(UDE[i - 1]); } }
- //// else { (UDE[_UN]) && (_UAE.push(UDE[_UN])); }
- //// }
- //// return _UAE;
- //// },
- //// getevenodd: function (UDE, UTP) { //获取奇数和偶数集
- //// var i, j, _UDPD, _UCE, _UTF, _UPE = [], _UAE = [];
- //// for (i = 0; i < UDE.length; i++) {
- //// _UCE = null; _UDPD = UDE[i].parentNode;
- //// for (j = 0; j < _UPE.length; j++) { if (_UPE[j][0] == _UDPD) { _UCE = _UPE[j]; _UCE[1].push(UDE[i]); } }
- //// (!_UCE) && (_UPE.push((_UCE = [_UDPD, [UDE[i]]]))); _UTF = (_UCE[1].length - 1) % 2; ((UTP == "even" && !_UTF) || (UTP == "odd" && _UTF)) && (_UAE.push(UDE[i]));
- //// }
- //// return _UAE;
- //// },
- //// even: function (UDE) { //获取偶数集
- //// return this.selecte.getevenodd(UDE, "even");
- //// },
- //// odd: function (UDE) { //获取奇数集
- //// return this.selecte.getevenodd(UDE, "odd");
- //// },
- //// eq: function (UDE, UTP) { //获取制定的位置列
- //// return UDE[UTP.match(this.match.number)[1].toInt()];
- //// },
- //// gt: function (UDE, UTP) { //索引大于的元素
- //// U.select(UDE).gt(UTP.match(this.match.number)[1].toInt());
- //// },
- //// lt: function (UDE, UTP) {//索引小于的元素
- //// U.select(UDE).lt(UTP.match(this.match.number)[1].toInt());
- //// },
- //// "first-of-type": function () { },
- //// "last-of-type": function () { },
- //// "only-of-type": function () { },
- //// "nth-last-child": function () { },
- //// "nth-of-type": function () { },
- //// "nth-last-of-type": function () { }
- //// }
- ////});
- ////简单的复杂的方法统一
- ////$.SetMethod.prototype = U.select.prototype;
- ////#endregion
- ////#endregion
- //,
- // length: 0, //初始化长度
- // splice: Array.prototype.splice,
- // constructor: Array
- //U.select.fn.init.prototype = U.select.fn; //添加扩展
- // el = el || document;
- // //如果是字符串说明用户要通过选择器找到字符串
- // if (U.UF.C.isString(name)) {
- // var i, j, k, _UTP, _UIE, _UTF, _UVE, _UGE, _UXE, _UJE, _UOT, _UST = "",
- // _UDE = el,
- // _UME = this.match, //获取选取的正则
- // _UCE = name.replace(_UME.escape, U.select.GetSelector),
- // _UCN = _UME.con,
- // _UKE = [],
- // _UBE = U.UF.CI.getBrowser(); //浏览器版本
- // _UBE = (_UBE.browser == "msie" && _UBE.ver.toInt()); //ie的版本
- // //拆分选择器
- // do {
- // _UCN.exec("");
- // _UCE = _UCN.exec(_UCE);
- // _UKE.push(_UCE[1] + (_UCE[2] || ""));
- // _UCE = _UCE[3];
- // }
- // while (_UCE); //生成获取集合
- // _UXE: for (i = 0; (i < _UKE.length && _UDE); i++) {
- // if (_UBE < 6 && _UME.nregular.test((_UTF = _UKE[i + 1]))) {//处理选择伪类等
- // if (_UTF == "+" || _UTF == "~") { //向下选择
- // if (_UOT = (_UME.pos.test(_UKE[i]) || _UME.child.test(_UKE[i]))) {
- // _UVE = this.getelement(_UKE[i], _UDE, _UST);
- // (U.UF.Ut.isHtmlElement(_UVE)) && (_UVE = [_UVE]);
- // }
- // else {
- // _UJE = this.getType(_UKE[i]);
- // }
- // _UIE = this.getType(_UKE[i + 2]);
- // _UDE = this.gete(_UDE, _UIE[4], _UST, _UIE);
- // for (j = 0; j < _UDE.length; j++) { //判断获取
- // _UTP = false;
- // this.celement.apply[_UDE[j]], [_UTF == "+" ? "previousSibling" : "prevaAll", NaN, _UGE = []]; //获取
- // for (k = 0; k < _UGE.length; k++) {
- // if (_UOT) {
- // if (_UVE.indexOf(_UGE[k]) > -1) { _UTP = true; break; }
- // } else if (_UGE[0][_UJE[3]].toLowerCase() == _UKE[i]) { _UTP = true; break; }
- // }
- // (!_UTP) && (_UDE.splice(j, 1), j--);
- // }
- // }
- // else if (_UTF == ">") { //子元素
- // _UVE = this.getelement(_UKE[i], _UDE, _UST);
- // if (typeof _UVE == "string") {
- // _UVE == this.gete(_UDE, "", _UST);
- // }
- // if ((_UDE = _UVE)) {
- // (U.UF.Ut.isHtmlElement(_UDE)) && (_UDE = [_UDE]);
- // _UGE = [];
- // _UIE = this.getType(_UKE[i + 2]);
- // _UVE = this.gete(_UDE, _UIE[4], "", _UIE);
- // for (j = 0; j < _UVE.length; j++) {
- // for (k = 0; k < _UDE.length; k++) {
- // if (_UDE[k] == _UVE[j].parentNode) {
- // _UGE.push(_UVE[j]); break;
- // }
- // }
- // }; _UDE = _UGE;
- // }
- // }
- // _UST = ""; i += 2;
- // (_UIE[2]) && (_UDE = this.getelement("", _UDE, _UIE[2]));
- // }
- // else {
- // if (_UKE[i].length > 1 && _UKE[i].indexOf("*") > -1) {
- // _UKE[i] = _UKE[i].substr(1);
- // if (!(_UDE = document[_UKE[i]])) {
- // if (U.UF.CI.getBrowser().browser == "msie") {
- // _UDE = document.getElementById(_UKE[i]);
- // } else { _UDE = document.embeds[_UKE[i]]; }
- // } _UST = "";
- // }
- // else {
- // _UVE = this.getelement(_UKE[i], _UDE, _UST);
- // if (typeof _UVE == "string") { _UST += _UVE; }
- // else if (_UVE) { _UDE = _UVE; _UST = ""; }
- // else if (_UVE === null) { _UDE = null; break _UXE; }
- // else { _UST += _UKE[i]; }
- // }
- // }
- // }
- // if (_UST && _UDE) {
- // _UIE = this.getType(_UST);
- // _UTF = (_UIE && !_UIE[2].trim());
- // _UDE = this.gete(_UDE, _UIE ? _UIE[4] : "", _UTF ? "" : _UST, _UTF ? _UIE : null);
- // } //添加元素
- // }
- // else {
- // var _UDE = name || [];
- // }
- // if (_UDE) {
- // this.osadd(_UDE);
- // }
- // //多个选择
- // osel: function (UTP, UTV, UDE, UTE) {
- // var i, j, _UKE, _UAE = [], _UCE = [], _UTP = "parentNode", _UTF = true;
- // if (UTP) { //选择
- // _UCE = [];
- // for (i = 0; i < UDE.length; i++) {
- // if (UDE[i][UTP] == UTV || UDE[i].getAttribute(UTP) == UTV || UTV === undefined) {
- // _UCE.push(UDE[i]);
- // }
- // }
- // }
- // else {
- // for (i = 0; i < UDE.length; i++) {
- // for (j = 0; j < _UAE.length; j++) {
- // if (UDE[i][_UTP] == _UAE[j][0]) {
- // _UAE[j][1].push(UDE[i]); break;
- // }
- // _UAE.push[UDE[i][_UTP], [UDE[i]]];
- // }
- // } //选择的元素
- // for (i = 0; i < _UAE.length; i++) { //选择
- // _UKE = (UTE && _UAE[0][UTE]) ? _UAE[0][UTE](UTP) : SelectorElement(UTP, _UAE[0]); //获取
- // for (j = 0; j < _UKE.length; j++) {
- // if (!_UAE[1].length) { break; }
- // ((i = _UAE[1].indexOf(_UKE[j])) > -1) && (_UCE.push(_UKE[j]), _UAE[1].splice(i, 1));
- // }
- // }
- // }
- // return _UCE;
- // },
- // //添加选择的元素
- // osadd: function (UDE) {
- // if (U.UF.Ut.isHtmlElement(UDE) || UDE.length == null) {
- // UDE = [UDE];
- // }
- // for (var i = 0; i < UDE.length; i++) {
- // if (UDE[i]) {
- // this[this.length++] = UDE[i];
- // (UDE[i].id) && (this[UDE[i].id] = UDE[i]);
- // }
- // }
- // return this; //添加元素
- // },
- // //移除元素
- // del: function (item, UTF) {
- // var i, _UL = this.length; (item != null) && (this[item] = null);
- // if (!UTF) {
- // for (i = 0; i < _UL; i++) {
- // if (this[i] == null) {
- // if (this[i + 1]) {
- // this[i] = this[i + 1];
- // this[i + 1] = null;
- // }
- // else { delete this[i]; } this.length--;
- // }
- // }
- // }
- // },
- // gete: function (UDE, UTP, UTS, USM) {//获取元素
- // var i, _UCE, _UKE = []; (U.UF.Ut.isHtmlElement(UDE)) && (UDE = [UDE]);
- // for (i = 0; i < UDE.length; i++) {
- // _UCE = UDE[i]; _UCE = (!UTS && (USM[1].length >= USM[0].length - 1) && _UCE[UTP]) ? _UCE[UTP](USM[1]) : SelectorElement(UTS + (USM ? USM[0] : ""), _UCE);
- // if (_UCE) { (U.UF.Ut.isHtmlElement(_UCE)) && (_UCE = [_UCE]); _UKE = _UKE.concat(U.UF.C.toArray(_UCE)); }
- // }
- // return _UKE;
- // },
- // getelement: function (UCE, UDE, USE) {//通过选择字符串获取元素
- // var i, _UME = this.match, _UAE = UCE ? this.getType(UCE) : "", _UST = _UAE && _UAE[2], _UBE = U.UF.CI.getBrowser(), _UTF = _UME.pos.test(_UST) || _UME.child.test(_UST); _UBE = (_UBE.browser == "msie", _UBE.ver.toInt()); if (!_UAE && UCE) { return _UAE; }
- // if (_UAE && USE !== true && (_UAE[0] == UCE || _UAE[2].indexOf(":") == -1) || (!_UTF || (!_UBE || _UBE > 8 || (UCE.indexOf("first-child") > -1 && _UBE > 6)))) { return UCE + " "; } //兼容添加选择值
- // else {
- // if (_UTF) { //过滤选择 //伪类选择
- // _UST = _UST.split(":"); _UAE[0] += _UST[0]; UDE = this.gete(UDE, _UAE[4], USE, _UAE);
- // for (i = 1; i < _UST.length; i++) { if (_UST[i] && !U.UF.Ut.isHtmlElement(UDE)) { UDE = this.selecte[_UST[i].split("(")[0]].call(this, UDE, _UST[i]); } }
- // }
- // else { UDE = this.gete(UDE, _UAE[4], "", _UAE); }; return UDE
- // }
- // },
- // getType: function (UCE) {//获取格式
- // var i, _UJE, _UME = this.match, _UAE = { "name": "getElementsByName", "id": "getElementById", "tagName": "getElementsByTagName", "className": "getElementsByClassName" };
- // for (i in _UAE) { if ((_UJE = _UME[i].exec(UCE))) { return [_UJE[0], _UJE[1], UCE.replace(_UJE[0], ""), i, _UAE[i]]; } } //获取值
- // },
- // getValue: function (USE) { //通过选择字符串生成响应的选择
- // var i, _UDE = {}, _UNC = this.common.nregular, _UC = this.common.regular, _UNCA = (USE.match(_UNC) || []), _UCA = USE.match(_UC) || ["*"];
- // for (i = 0; i < _UCA.length; i++) { switch (_UNCA[j]) { case "!": _UDE["name"] = _UCA[j]; break; case "#": _UDE["id"] = _UCA[j]; break; case ".": _UDE["className"] = _UCA[j]; break; case "": case "&": _UDE["tagName"] = _UCA[j]; break; } } //获取
- // return _UDE;
- // },
- ///**
- //* 动画处理使用
- //*
- //* @param {string} 选择特殊字符串 包含# & []
- //* @param {document} 搜索的层次
- //* @param {document} 搜索的层次
- //*/
- //U.select.IsAnimate = function (UDE, item, UCL) {
- // var i = item || 0, _UL = item == null ? UDE.length : item + 1, _UTF = arguments.length > 0;
- // for (; i < _UL; i++) {
- // if (_UTF) {
- // UDE[i].__Animate__ = [UDE[i].style.cssText, UDE[i].className, UCL];
- // }
- // else {
- // UDE[i].__Animate__ = null; delete UDE[i].__Animate__;
- // }
- // }
- //};
- ////通过元素的来获取
- ///**
- //* 使用正则表带是
- //*
- //* @param {string} 选择
- //* @param {document} 搜索的层次
- //*/
- //$.getElementByString = function (name, el) {
- // var _e, //这个是获取成功的函数
- // _r = name.substring(0, 1), //获取特殊字符 . # 或者 ""
- // _n = name.substring(1, name.length), //获取标签名
- // _doc = el || document; //去除特殊字符后
- // //这里是判断获取
- // try { //这里利用基础的选择器选取数据
- // switch (_r) {
- // case "#": //根据id获取 因为id获取只能通过全局搜索 但是由于项目中有存在克隆的情况 会出现id不唯一的情况
- // if (_doc == document && U.UF.S.EN.test(_n)) {
- // _e = document.getElementById(_n);
- // }
- // break;
- // case ".": //根据className获取
- // if (U.UF.S.EN.test(_n)) {
- // _e = _doc.getElementsByClassName(_n);
- // }
- // break;
- // case "*": //根据className获取
- // if (U.UF.S.EN.test(_n)) {
- // _e = _doc.getElementsByTagName("*");
- // }
- // else {
- // _e = document[_n];
- // if (U.UF.CI.getBrowser().browser == "msie") {
- // _e = document.getElementById(_n);
- // }
- // else {
- // _e = document.embeds[_n];
- // }
- // }
- // break;
- // default: //标签的获取 //获取指定的元素
- // if (U.UF.S.EN.test(name)) {
- // _e = _doc.getElementsByTagName(name); //除去特殊字符的处理
- // }
- // break;
- // }
- // }
- // catch (e) { }
- // //判断是否获取元素成功,如果上面简单的选择去不成功,那么就通过其他的选择器方案去获取
- // if (_e == null) {
- // _e = U.UF.CP.SelectorElement(name, _doc); //其他选择的方式获取
- // }
- // return new $.SetMethod(_e); //把选择的元素添加方法
- //}
- ///**
- //* 元素方法
- //*
- //* @param {object} 设置的域
- //*/
- //$.SetMethod = function (el) {
- // el = el || [];
- // //把所有获取出来的元素转化成数组,以便下面循环添加
- // if (U.UF.Ut.isHtmlElement(el) || el.length == null) {
- // el = [el];
- // }
- // //设置获取元素的长度
- // this.length = el.length;
- // //循环所有的元素,把元素设置到this里面,这样用户获取到的元素集就能通过this[0]或者this[id]去获取了
- // for (var i = 0; i < el.length; i++) {
- // //如果元素存在的处理
- // this[i] = el[i];
- // //如果元素有id,那么给返回值添加一个id的处理,以便返回值中有以id作为key的返回值
- // if (el[i].id) {
- // this[el[i].id] = el[i];
- // }
- // }
- //}
- ///**
- //* 初始化编辑区域
- //*
- //* @param {string} 选择特殊字符串 包含# & []
- //* @param {document} 搜索的层次
- //*/
- //U.select.GetSelector = function (UST) { //处理选择器
- // if (UST == "#") { //getElementById 的选择符
- // return " #";
- // }
- // else if (UST == "&") { //className联合的选择符
- // return " ";
- // }
- // else if (UST.charAt(0) == "!") { //自定义参数的选择符
- // return "[name='" + UST.substr(1) + "']";
- // }
- // else { //自定义参数使用
- // return "[" + UST.substr(1).replace(U.select.prototype.match.ename, "='$1'") + "]";
- // }
- //};
- // //正则匹配选择器
- // match: {
- // ename: /=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*/g, //[]选择符的使用
- // escape: /(&|![\w\u00c0-\uFFFF\-]|\@[\w\u00c0-\uFFFF\-]+=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*)/g, //需要转义的正则
- // nregular: /[>|+|~]/g, //伪类选择
- // con: /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, //通用符的使用
- // className: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, //className的定义
- // id: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, //id的定义
- // name: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, //name选择符处理
- // attr: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
- // tagName: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, child: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, //标签选择符处理
- // pos: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/ //子元素选择器
- // },
- ///**
- //* 初始化对话框实例
- //* @returns {function} 回调函数初始化
- //* @arguments 对象的 length 属性包含了传递给U.UF.UI.Dialog的参数的数目。
- //*/
- //U.UF.UI.Confirm.init = function (UDE) {
- // var i, _UCE = ["title", "style", "confirmNoClose", "confirmYesClose", "content", "top"];
- // if (UDE.length < 4) {
- // var _UDOD = U.selectEl("#U_COF"); //创建一个ID为U_COF的对象
- // UDE = ["消息提示", { "width": "300px" }, UDE[2], UDE[1],
- // $$("div", {
- // "className": "U_UI_OC",
- // "style": {
- // "textAlign": "center",
- // "margin": "25px 0",
- // "max-width": "400px",
- // "word-wrap": "break-word",
- // "max-height": "400px",
- // "overflow": "auto"
- // },
- // innerHTML: UDE[0] ? UDE[0] : ""
- // })];
- // }
- // for (i = 0; i < UDE.length; i++) {
- // this[_UCE[i]] = UDE[i];
- // }
- // this.Create();
- //}
- //U.UF.UI.Confirm.init.prototype = {
- // /**
- // * 创建对话框的ui
- // */
- // Create: function () {
- // var i, _UDE, _UDOD, _UDTD, _UDID, _UDSD, _UCB, _USE = {
- // width: "auto",
- // height: "auto"
- // },
- // _UEK = (this.style = this.style || {});
- // _USE.forEach(function (UA, UB) {
- // _UEK[UB] = _UEK[UB] || UA;
- // });
- // _UEK.zIndex = 9999;
- // var _frag = $$("frag");
- // _UDOD = $$("div",
- // {
- // "className": "U_UI_OB"
- // });
- // _UDTD = $$("div",
- // {
- // "className": "U_UI_OBA"
- // }, _UDOD);
- // this.No = $$("div", {
- // "onclick": function () {
- // this.confirmYesNo(this.confirmNoClose);
- // }, // [(Array.isArray(this.confirmNoClose) ? this.confirmNoClose : [this.confirmNoClose]), [(_UCB = U.UF.C.apply(_UDE, [[_UDE.shut]]))]],
- // "innerHTML": "取消",
- // "style": { "display": this.Q == true ? "none" : "block" },
- // "className": "U_UI_OBY"
- // }, _UDTD);
- // this.Yes = _UDSD = $$("div", {
- // "onclick": function () {
- // this.confirmYesNo(this.confirmYesClose);
- // }, //[(Array.isArray(this.confirmYesClose) ? this.confirmYesClose : [this.confirmYesClose]), [_UCB]],
- // "innerHTML": "确定",
- // "className": "U_UI_OBY"
- // }, _UDTD); //确定按钮
- // _frag.appendChild(this.content);
- // _frag.appendChild(_UDOD);
- // this.form = _UDE = new U.UF.UI.form({
- // id: "U_COF",
- // top: this.top ? true : false,
- // min: false,
- // max: false,
- // style: this.style,
- // title: "<div class='UD_SYF_STI'>" + (this.title || "对话框") + "</div>",
- // content: _frag,
- // hst: {
- // style: {
- // padding: "0"
- // }
- // },
- // draw: false
- // }); //创建对话框
- // // U.selectEl(_UDE.middle).append(_UDOD);
- // _UDID = U.selectEl("input", _UDE.middle);
- // for (i = _UDID.length - 1; i >= 0; i--) {
- // if ("text,password".indexOf(_UDID[i].type) > -1) {
- // _UDID[i].focus();
- // _UDID[i].onkeypress = U.UF.C.apply(_UDID[i], function () {
- // U.UF.C.returnkeylogin([{
- // "obj": _UDSD,
- // "event": 'onclick'
- // }]);
- // });
- // }
- // }
- // return _UDE;
- // },
- // /**
- // * 给对话框设置事件
- // * @param {object} 窗体事件使用
- // ----------[yes] {function} 确定的函数事件
- // ----------[no] {function} 取消的函数事件
- // */
- // AddEvent: function (UDE) {
- // for (var i in UDE) {
- // if (UDE.hasOwnProperty(i)) {
- // this[i].onclick = U.UF.C.apply(this.form, function () {
- // this.form.shut();
- // UDE[i]();
- // }); //
- // }
- // }
- // },
- // /**
- // * 给对话框设置事件
- // * @param {object} 窗体事件使用
- // */
- // confirmYesNo: function (fun) {
- // var _UCB = U.UF.C.apply(this.form, this.form.shut), //关闭窗体的函数
- // _UTF = Array.isArray(fun) ? U.UF.C.apply(this, fun)() : (fun) && (fun.call(this));
- // if (_UTF !== false) { //不允许关闭
- // _UCB();
- // }
- // // [(Array.isArray(this.confirmNoClose) ? this.confirmNoClose : [this.confirmNoClose]), [(_UCB = U.UF.C.apply(_UDE, [[_UDE.shut]]))]]
- // }
- //}
- /*U.UF.UI.Dialog = function (UDC, UDT, UDID, UDW, UDH) {
- (!UDW || !UDH) && (UDW = "400px", UDH = "550px");
- return U.UF.UI.form({
- id: UDID ? UDID : null,
- style: { "width": parseInt(UDW) + "px", "height": parseInt(UDH) + "px" },
- content: UDC ? UDC : null, title: UDT ? UDT : "通知",
- min: false,
- max: false,
- draw: false
- });
- }*/
- //U.UF.UI.Confirm = function (UCT, UCBF, UCNF) {
- // var _UDOD = U.selectEl("#U_COF"); //创建一个ID为U_COF的对象
- // if (_UDOD[0]) { //判断是否有U_COF的子节点,没有则创建
- // _UDOD.childs(0, 1).childs(0, 0).html(UCT); //设置内容
- // _UDOD.Center(); //内容居中
- // } else {
- // U.selectEl(U.UF.UI.Dialog("消息提示", {}, UCNF ? U.UF.C.apply(this, [UCNF]) : null, UCBF ? U.UF.C.apply(this, [UCBF]) : null,
- // $$("div", {
- // "className": "U_UI_OC",
- // "style": {
- // "textAlign": "center",
- // "padding": "25px 0 25px 0"
- // },
- // innerHTML: UCT
- // })).Create()).addAttrArray({
- // "id": "U_COF"
- // })[0];
- // U.UF.EV.stopBubble(); //阻止冒泡
- // return _UDOD;
- //}
- /**
- * 创建一个通知形式的对话框
- *{str} UDC 对话框里面的内容。
- *{str} UDT 标题
- *{str} UDID 对话框id
- *{int} UDW 宽度
- *{int} UDH 高度
- * @returns 返回ID为U_COF的对象
- **/
- //U.UF.UI.Dialog = function (UDC, UDT, UDID, UDW, UDH) {
- // return new U.UF.UI.Dialog.init(arguments);
- //}
- //U.UF.EV.addPrototype(U.UF.UI.Dialog, U.UF.C.AddObj(U.UF.UI.Dialog, {
- // init: function (UDE) { //添加对话框信息
- // var i, _UCE = ["title", "style", "confirmNoClose", "confirmYesClose", "content", "SO"];
- // for (i = 0; i < UDE.length; i++) {
- // this[_UCE[i]] = UDE[i];
- // }
- // },
- // Create: function () { //创建对话框
- // var i, _UDE, _UDOD, _UDTD, _UDID, _UDSD, _UCB, _USE = {
- // width: "auto",
- // height: "auto",
- // minWidth: "300px"
- // },
- // _UEK = (this.style = this.style || {});
- // _USE.forEach(function (UA, UB) {
- // _UEK[UB] = _UEK[UB] || UA;
- // });
- // _UEK.zIndex = 9999;
- // _UDE = new U.UF.UI.form({
- // top: true,
- // min: false,
- // max: false,
- // style: this.style,
- // title: "<div class='UD_SYF_STI'>" + (this.title || "对话框") + "</div>",
- // content: this.content,
- // hst: {
- // style: {
- // padding: "0"
- // }
- // }
- // }); //创建对话框
- // _UDOD = $$("div", {
- // "className": "U_UI_OB"
- // });
- // _UDTD = $$("div", {
- // "className": "U_UI_OBA"
- // }, _UDOD);
- // $$("div", {
- // "onclick": [
- // [this.confirmNoClose],
- // [(_UCB = U.UF.C.apply(_UDE, _UDE.close))]
- // ],
- // "innerHTML": "取消",
- // "className": "U_UI_OBY"
- // }, _UDTD);
- // _UDSD = $$("div", {
- // "onclick": [
- // [this.confirmYesClose],
- // [_UCB]
- // ],
- // "innerHTML": "确定",
- // "className": "U_UI_OBY"
- // }, _UDTD); //确定按钮
- // U.selectEl(_UDE.middle).append(_UDOD);
- // _UDID = U.selectEl("input", _UDE.middle);
- // for (i = _UDID.length - 1; i >= 0; i--) {
- // if ("text,password".indexOf(_UDID[i].type) > -1) {
- // _UDID[i].focus();
- // _UDID[i].onkeypress = U.UF.C.apply(_UDID[i], function () {
- // U.UF.C.returnkeylogin({
- // "obj": _UDSD,
- // "event": 'onclick'
- // });
- // });
- // }
- // }
- // }
- //}));
- //U.UF.UI.Dialog.init.prototype = U.UF.UI.Dialog.prototype;
- ///*
- //弹出提示框,为了同时弹出多个提示框,为多份实例对象
- //1、可以像java语言的用法,用new调用多份,例如: var a=new U.AlertB();
- //2、也可以省略new的步骤,直接U.Alert(),出来的结果为多份。
- //参数一:UTH 内容
- //参数二:UTI 无确认按钮的显示时间
- //参数三:是否带确认按钮
- //返回值:
- //*/
- //U.Alert = function (UTH, UTI, IFQ) {
- // IFQ === true ? new U.AlertA(UTH, IFQ) : new U.AlertB(UTH, UTI);
- //}
- ////为了多份实例,另外建立一个类似类的函数。
- ////带有确定按钮的alert
- //U.AlertA = function (UTH) {
- // U.UF.UI.Confirm("提示框", {}, null, null, $$("div", {
- // "style": {
- // "textAlign": "center",
- // "margin": "25px 10px 25px 10px",
- // "max-width": "400px",
- // "word-wrap": "break-word",
- // "max-height": "400px",
- // "overflow": "auto"
- // },
- // innerHTML: UTH
- // }), true);
- //}
- ////自动消失的alert
- //U.AlertB = function (UTH, UTI) {
- // this.TI = ((UTI == null || UTI < 0) ? 1000 : UTI);
- // var _UDPD = U.selectEl("body")[0];
- // this.UDOD = U.selectEl($$("div", {
- // "innerHTML": UTH,
- // "className": "USalert",
- // "style": { "cssText": "z-index:9999;left:" + ((US.width / 2 - 160) + _UDPD.scrollLeft) + "px;top:" + ((US.height / 2 - 100) + _UDPD.scrollTop) + "px" },
- // "onclick": function () { this.DAlert(true); }
- // }, U.selectEl("body")[0])).css({
- // "top": US.height / 2 - 80 + _UDPD.scrollTop + "px"
- // });
- //}
- ////为了减少内存消耗,把方法写在原型中。
- //U.AlertB.prototype = {
- // // init: function (UTH, UTI) {//创建alert "id": "USalert",
- // // this.TI = ((UTI == null || UTI < 0) ? 1000 : UTI); this.UDOD = U.selectEl($$("div", { "innerHTML": UTH, "className": "USalert", "style": { "cssText": "z-index:9999;left:" + (US.width / 2 - 160) + "px;top:" + (US.height / 2 - 100) + "px" }, "onclick": function(){this.DAlert(true);} }, U.selectEl("body")[0])).animate({ "top": US.height / 2 - 80 + "px" }, 300, function(){this.AsynAmAlert();});
- // // },
- // AsynAmAlert: function () { //等待动画
- // this.UTI = setTimeout(function () { this.AmAlert(); }, this.TI || 1000); //异步等待
- // },
- // AmAlert: function () { //结束动画
- // if (this.UTI) { clearTimeout(this.UTI) };
- // var _UDOD = U.selectEl(this.UDOD);
- // if (_UDOD.Parent() == document.body) {
- // _UDOD.animate({
- // "top": _UDOD[0].offsetTop - 70 + "px"
- // }, 100, function () { this.DAlert(); })
- // };
- // },
- // DAlert: function (UTF) { //移除alert
- // if (this.TI || UTF) {
- // U.selectEl(this.UDOD).remove();
- // }
- // }
- //}
- //U.UF.EV.addPrototype(U.AlertB, {
- // // init: function (UTH, UTI) {//创建alert "id": "USalert",
- // // this.TI = ((UTI == null || UTI < 0) ? 1000 : UTI); this.UDOD = U.selectEl($$("div", { "innerHTML": UTH, "className": "USalert", "style": { "cssText": "z-index:9999;left:" + (US.width / 2 - 160) + "px;top:" + (US.height / 2 - 100) + "px" }, "onclick": function(){this.DAlert(true);} }, U.selectEl("body")[0])).animate({ "top": US.height / 2 - 80 + "px" }, 300, function(){this.AsynAmAlert();});
- // // },
- // AsynAmAlert: function () {//等待动画
- // this.UTI = setTimeout(function(){this.AmAlert();}, this.TI || 1000); //异步等待
- // },
- // AmAlert: function () {//结束动画
- // (this.UTI) && (clearTimeout(this.UTI)); var _UDOD = U.selectEl(this.UDOD);
- // (_UDOD.Parent() == document.body) && (_UDOD.animate({ "top": US.height / 2 - 70 + "px" }, 100, function(){this.DAlert();}));
- // },
- // DAlert: function (UTF) { //移除alert
- // if (this.TI || UTF) { U.selectEl(this.UDOD).remove(); }
- // }
- //}); //U.UF.C.AddObj(U.Alert,})
- //U.Alert.prototype.init.prototype = U.Alert.prototype;
- ////#region 分页控件
- //Namespace.register("U.UF.P");
- ////分页控件设置
- ///*
- //功能:传统分页控件,此函数将预先加载。以后需多做几种样式。
- //参数一:UDE代表className为UD_SYFLB的div元素
- //参数二:UOD代表聊天条数。
- //参数三:UDP为整形1,默认第一页,其他数字,则为相应的显示页。
- //参数四: UNP代表一页显示多少条数据
- //参数五:USN为打印聊天信息的函数
- //*/
- //U.UF.P.PPage = function (UOD, USN, UNP, UDN, UCF, UTF) {
- // var i, j, _USE, _UKE,
- // _UME = U.UF.P.PPage.setPage(USN, UNP, UDN, UCF);
- // if (U.UF.C.isFunction(UTF)) {
- // _USE = UTF(this);
- // _UKE = { //按钮对应事件处理
- // "pre": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP - 1, _UBE[1], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //上一页
- // "next": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP + 1, _UBE[2], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //下一页
- // "frit": { "onclick": function () {
- // U.UF.P.PPage.exec(1, _UBE[0], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //第一页
- // "last": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP + 1, _UBE[2], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //最后一页
- // "input": [
- // {
- // "onkeyup": [U.UF.C.returnkeylogin, [null, function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, null, UDP);
- // } ]],
- // "onclick": function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, null, UDP);
- // }
- // }
- // ], //输入框 按钮
- // "page": [] //页码按钮 变化样式 当前页的样式
- // };
- // for (i in _USE) {
- // if (_USE.hasOwnProperty(i) && _UKE[i]) {
- // if (Array.isArray(_UKE[i])) {
- // for (j = 0; j < _UKE[i].length; j++) {
- // }
- // }
- // else {
- // for (j in _UKE[i]) {
- // _USE[i][j] = _UKE[i][j]
- // }
- // }
- // }
- // }
- // }
- // else if (!UTF) { // 创建分页控件
- // U.UF.P.PPage.CPage(_UME[0], UOD, _UME[1], UNP, USN, UDN, UCF)
- // }
- // return _UME;
- //}
- ////分页控件显示
- //U.UF.P.PPage.CPage = function (UDE, UOD, UDP, UNP, USN, UDN, UCF, UDOD) {
- // var i, _UN, _USP, _UDOD, _UDTD, _UDSD, _UDGD, _UTE, _UAE, _UCE = [], _UBE = [];
- // for (i = 0; i < 4; i++) {
- // switch (i) {
- // case 0:
- // _UTF = UNP != 1;
- // break;
- // case 1:
- // _UTF = UNP > 1;
- // break;
- // case 2:
- // _UTF = UNP < UDP;
- // break;
- // case 3:
- // _UTF = UNP != UDP;
- // break;
- // }
- // if (_UTF) {
- // _UBE[i] = UDE[i == 3 ? i + 1 : i];
- // } else {
- // _UCE[i] = "O";
- // }
- // }
- // if (UDOD) {
- // //分页控件分页
- // _UDTD = U.selectEl(UDOD).Child(),
- // _UDAD = U.selectEl(_UDTD[0]).childs(),
- // _UTE = [1, UNP - 1, UNP + 1, UDP];
- // U.selectEl(_UDTD[1]).Child()[2].innerText = UNP + "页";
- // _UAE = ["O", "T", "S", "F"];
- // //跳页赋值
- // for (i = 0; i < 4; i++) {
- // _UDAD.addAttrArray({
- // "onclick": _UCE[i] ? "" : function () {
- // U.UF.P.PPage.exec(_UTE[i], _UBE[i], UOD, USN, UNP, UDN, UCF, UDOD);
- // },
- // "className": "U_Boom_Img_ys2017 UD_SYFYL" + _UAE[i] + (_UCE[i] || "")
- // }, (UCF.isp && i > 1) ? i + 1 : i);
- // }
- // //页码赋值
- // if (UCF.isp) {
- // _UDAD[2].innerText = ""; //清空
- // _UN = UNP > 5 ? UNP - 5 : 0; //当前页的范围
- // _USP = UNP + UCF.isp > UDP ? UDP : UNP + UCF.isp;
- // _UAE = U.UF.P.PPage.setPage([_UN, _USP], null, null, UCF); //获取点击事件
- // for (i = _UN; i < _USP; i++) { //范围使用
- // $$("div", { "onclick": function () {
- // U.UF.P.PPage.exec(i + 1, _UAE[i - _UN], UOD, USN, UNP, UDN, UCF, UDOD);
- // },
- // "className": "UD_SYFYNO" + ((i + 1 == UNP) ? " UD_SYFYNOO" : ""),
- // "innerHTML": i + 1
- // }, _UDAD[2]);
- // }
- // }
- // U.selectEl(_UDTD[1]).childs(0, 1).addAttrArray({
- // "onclick": (_UTE = function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, UDOD, UDP);
- // })
- // }, 8);
- // U.selectEl("input", UDOD).addAttrArray({
- // "onkeyup": function () {
- // U.UF.C.returnkeylogin(null, _UTE);
- // }
- // });
- // }
- // else {
- // _UDOD = $$("div", {
- // "className": "UD_SYFY"
- // });
- // _UDTD = $$("div", {
- // "className": "UD_SYFYL"
- // }, _UDOD);
- // $$("div", {
- // "className": "U_Boom_Img_ys2017 UD_SYFYLO" + (_UCE[0] || ""),
- // "onclick": _UCE[0] ? null : function () {
- // U.UF.P.PPage.exec(1, _UBE[0], UOD, USN, UNP, UDN, UCF, _UDOD);
- // },
- // "title": "首页"
- // }, _UDTD);
- // $$("div", {
- // "className": "U_Boom_Img_ys2017 UD_SYFYLT" + (_UCE[1] || ""),
- // "onclick": _UCE[1] ? null : function () {
- // U.UF.P.PPage.exec(UNP - 1, _UBE[1], UOD, USN, UNP, UDN, UCF, _UDOD);
- // },
- // "title": "上一页"
- // }, _UDTD);
- // if (UCF.isp && UDP > 0) {
- // _UDSD = $$("div", { "className": "UD_SYFYN" }, _UDTD);
- // _UN = UNP > 5 ? UNP - 5 : 0;
- // _USP = UNP + UCF.isp > UDP ? UDP : UNP + UCF.isp;
- // _UAE = U.UF.P.PPage.setPage([_UN, _USP], null, null, UCF); //获取点击事件
- // for (i = _UN; i < _USP; i++) {
- // $$("div", { "onclick": function () {
- // U.UF.P.PPage.exec(i + 1, _UAE[i - _UN], UOD, USN, UNP, UDN, UCF, _UDOD);
- // },
- // "className": "UD_SYFYNO" + ((i + 1 == UNP) ? " UD_SYFYNOO" : ""),
- // "innerHTML": i + 1
- // }, _UDSD);
- // }
- // }
- // $$("div", {
- // "className": "U_Boom_Img_ys2017 UD_SYFYLS" + (_UCE[2] || ""),
- // "onclick": _UCE[2] ? null : function () {
- // U.UF.P.PPage.exec(UNP + 1, _UBE[2], UOD, USN, UNP, UDN, UCF, _UDOD);
- // },
- // "title": "下一页"
- // }, _UDTD);
- // $$("div", {
- // "className": "U_Boom_Img_ys2017 UD_SYFYLF" + (_UCE[3] || ""),
- // "onclick": _UCE[3] ? null : function () {
- // U.UF.P.PPage.exec(UDP, _UBE[3], UOD, USN, UNP, UDN, UCF, _UDOD);
- // },
- // "title": "尾页"
- // }, _UDTD);
- // _UDTD = $$("div", {
- // "className": "UD_SYFYR"
- // }, _UDOD);
- // _UDSD = $$("div", {
- // "className": "UD_SYFYRL"
- // }, _UDTD);
- // $$("span", {
- // "innerHTML": "到"
- // }, _UDSD);
- // _UDGD = $$("div", {}, _UDSD);
- // $$("input", {
- // "type": "text",
- // "onkeyup": [U.UF.C.returnkeylogin, [null, function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, _UDOD, UDP);
- // } ]]
- // }, _UDGD);
- // $$("span", {
- // "innerHTML": "页"
- // }, _UDSD);
- // $$("div", {
- // "className": "UD_SYFYRZ",
- // "innerHTML": "确定",
- // "onclick": function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, _UDOD, UDP);
- // }
- // }, _UDTD);
- // $$("div", {
- // "className": "UD_SYFYRR",
- // "innerHTML": UNP + "页"
- // }, _UDTD);
- // UOD.appendChild(_UDOD);
- // }
- //}
- ////函数执行
- //U.UF.P.PPage.exec = function (UTF, UFN, UOD, USN, UNP, UDN, UCF, UDOD) {
- // if (UFN != null) {
- // var _UDE = U.UF.P.PPage.main(UOD, USN, UTF, UDN, UCF, true);
- // U.UF.P.PPage.CPage(_UDE[0], UOD, Math.ceil(USN / UDN), UTF, USN, UDN, UCF, UDOD);
- // UFN();
- // }
- //}
- ////输入框设置
- //U.UF.P.PPage.PageAchieve = function (UFN, UOD, USN, UNP, UDN, UCF, UDOD, UDP) {
- // var _UN = U.selectEl(event.srcElement).parentElement().find("input")[0].value;
- // if (U.UF.S.Number.test(_UN)) {
- // _UN = _UN.toInt();
- // if (_UN <= UDP && _UN > 0) {
- // if (UNP != _UN) { U.UF.P.PPage.exec(_UN, UFN, UOD, USN, UNP, UDN, UCF, UDOD) };
- // }
- // else {
- // parent.U.Alert("输入范围异常!");
- // }
- // }
- // else {
- // parent.U.Alert("无效输入!");
- // }
- //};
- ////设置页数函数
- //U.UF.P.PPage.setPage = function (USN, UNP, UDN, UCF) {
- // var i, j, k, _USE, _UKE, _UGE, _UME = [],
- // _UCE = UCF["fun"], //回调函数
- // _UIP = UCF["page"]; //当前使用页数;
- // if (Array.isArray(USN)) {
- // for (i = USN[0]; i < USN[1]; i++) {
- // _UGE = [];
- // for (j = 0; j < _UCE.length; j++) {
- // _USE = _UCE[j][1];
- // if (_UIP[j] != null) {
- // _USE = _USE.concat();
- // _USE[_UIP[j]] = i + 1;
- // }
- // _UGE.push[_UCE[j][0], _USE];
- // }
- // _UME.push(_UGE);
- // }
- // return _UME;
- // }
- // else { //添加事件处理
- // var _UDP = Math.ceil(USN / UDN), //总页数
- // _UDE = [1, UNP - 1, UNP + 1, "$(event.srcElement).parentElement().find('input')[0].value", _UDP]; //前一页后一页处理
- // for (i = 0; i < _UDE.length; i++) {
- // _UGE = [];
- // for (j = 0; j < _UCE.length; j++) {
- // _USE = _UCE[j][1];
- // if (_UIP[j] != null) {
- // _USE = _USE.concat();
- // _USE[_UIP[j]] = _UDE[i];
- // }
- // _UGE.push[_UCE[j][0], _USE];
- // }
- // _UME.push(_UGE);
- // }
- // return [_UME, _UDP];
- // }
- //}
- ////控件设置
- //U.UF.P.PPage.main = function (UOD, USN, UNP, UDN, UCF, UTF) {
- // var i, j, _USE, _UKE,
- // _UME = U.UF.P.PPage.setPage(USN, UNP, UDN, UCF);
- // if (U.UF.C.isFunction(UTF)) {
- // _USE = UTF(this);
- // _UKE = { //按钮对应事件处理
- // "pre": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP - 1, _UBE[1], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //上一页
- // "next": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP + 1, _UBE[2], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //下一页
- // "frit": { "onclick": function () {
- // U.UF.P.PPage.exec(1, _UBE[0], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //第一页
- // "last": { "onclick": function () {
- // U.UF.P.PPage.exec(UNP + 1, _UBE[2], UOD, USN, UNP, UDN, UCF);
- // }
- // }, //最后一页
- // "input": [
- // { "onkeyup": [U.UF.C.returnkeylogin, [null, function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, null, UDP)
- // } ]]
- // },
- // { "onclick": function () {
- // U.UF.P.PPage.PageAchieve(UDE[3], UOD, USN, UNP, UDN, UCF, null, UDP);
- // }
- // }], //输入框 按钮
- // "page": [] //页码按钮 变化样式 当前页的样式
- // };
- // for (i in _USE) {
- // if (_USE.hasOwnProperty(i) && _UKE[i]) {
- // if (Array.isArray(_UKE[i])) {
- // for (j = 0; j < _UKE[i].length; j++) {
- // }
- // }
- // else {
- // for (j in _UKE[i]) {
- // _USE[i][j] = _UKE[i][j]
- // }
- // }
- // }
- // }
- // }
- // else if (!UTF) { // 创建分页控件
- // U.UF.P.PPage.CPage(_UME[0], UOD, _UME[1], UNP, USN, UDN, UCF)
- // }
- // return _UME;
- //}
- ////#endregion
- ////#region
- ////所有请求的ajax对象.
- //U.A.allAjax = [];
- ////#endregion
- ///**
- //* ajax初始化区域
- //*
- //* @param {string} 访问的地址
- //* @param {array} 数据库地址,数据库名,存储过程名,存储过程参数的数组
- //* @param {function} 回调函数
- //* @param {array} 函数传参
- //* @returns {object} ajax对象
- //-----------这里的传参第一个为loading元素
- //*/
- //// 删除了一个参数 UCE
- //U.A.Request = $.ajax = function (str, db, cb, arg) {
- // //判断浏览器是否在线联网
- // if (navigator.onLine) {
- // var _ajax, //获取所有的传参,参数说明 win 当前域 、 UR ajax原对象 、 EOR 错误回调函数 、 fun 触发的函数地址 、 UDE 服务器传参 、 cb 回调函数 UPE 回调参数 、 UAE ajax对象属性 、 time当前使用时间
- // _preajax = U.A.allAjax[U.A.allAjax.length - 1]; //ajax对象
- // //判断ajax的时间差,防止恶意用户用循环向服务器不断发送请求,导致服务器瘫痪。
- // //恶意请求大于了50次,则判断此用户有恶意攻击嫌疑。
- // //计算两次ajax请求的时间差
- // var _iftimespan;
- // if (_preajax) {
- // _iftimespan = new Date().getTime() - _preajax.date > 50;
- // }
- // //如果第一次ajax请求,或者ajax请求小于50次。或者2次发送请求的时间差大于50毫秒,都算没有恶意请求。
- // if (!_preajax || _preajax.timespan < 50 || _iftimespan) { //连续发送禁止处理
- // _ajax = new U.A.Request.init(arguments); //生成ajax对象
- // //此处添加二级域名跨域,完全跨域,无跨域的分支。
- // if (_ajax.handleDomain() == true) {
- // return _ajax.create(); //创建连接,无_header分支
- // // //添加有_header和无_header的两个分支。
- // // if (_ajax.header) {
- // // return _ajax.createHeader(_ajax.header); //创建连接,添加_header的目的是可以自己构建_header
- // // } else {
- // //
- // // }
- // }
- // }
- // else {
- // return { "error": "application has been breached" }; //连接过多错误
- // }
- // } else { U.Alert("网络断开!"); }
- //}
- ///**
- //* ajax初始化区域
- //*
- //* @param {array} ajax参数
- //----------[0] 访问的地址
- //----------[1] 服务器传参
- //----------[2] 回调函数
- //----------[3] 函数传参
- //-----------这里的传参第一个为loading元素
- //*/
- //U.A.Request.init = function (arg) { //初始化Ajax对象
- // /*
- // 参数说明 win 当前域 、 UR ajax原对象 、 EOR 错误回调函数 、 fun 触发的函数地址 、 UDE 服务器传参 、 cb 回调函数
- // UPE 回调参数 、 UAE ajax对象属性 、 time当前使用时间
- // */
- // //this.win = window; // win 当前域
- // //ajax原对象{ TO: _UAE, D: this.time, N: this.fun, J: (_UOE && ((new Date().getTime() - _UOE.D) < 50)) ? _UOE.J + 1 : _UOE ? _UOE.J : 0 }
- // //U.A.Request调用示例:U.A.Request("http://cd.1473.cn/php", ["mysql.1473.cn", "CloudSqlTestDb", "selectAllData"],function (r){})
- // this.win = window; // win 当前域
- // this.ajax = null; //ajax原对象{ TO: _UAE, D: this.time, N: this.fun, J: (_UOE && ((new Date().getTime() - _UOE.D) < 50)) ? _UOE.J + 1 : _UOE ? _UOE.J : 0 } 在函数createAjax里面最后一句话会发送此ajax
- // this.err = null; // err error是系统关键字
- // this.url = arg[0]; // url )。后台地址,形如"http://cd.1473.cn/php"。
- // //ajax向后台请求的传参,其形式为:["mysql.1473.cn", "CloudSqlTestDb", "selectAllData","guid","str"],包含了数据库地址,数据库名,数据库存储过程名称,数据库参数...如果没有,则新建一个空数组,用法:var e = U.A.Request("http://cd.1473.cn/ss");.则e为后台返回的值。
- // //UDE改成db
- // this.db = arg[1] || [];
- // this.cb = arg[2] || ""; //回调函数 cb
- // this.cbparams = arg[3]; //回调参数 cbparams
- // //调用方法:U.A.Request(US.AUTH,"UseStudioManage.AddToLoginLog", [US.userInfo.userid || US.EMPTYGUID, US.city.userAllLocation || "", US.ITID], function(){}, [], { type: "Get", "setAsyn": false, "timeout": 1, "CONTENT-TYPE": "application/json" }); //访问日志添加消息
- // this.header = arg[4] || ""; //暂时没有用处。浏览器升级后对ajax的功能进行扩展,加入了"对head头部自定义修改"的功能。CONTENT-TYPE:application/x-www-form-urlencoded;charset=UTF-8.
- // this.time = new Date(); //ajax生成时间..删除,时间保存在第二个参数ajax里面。
- //}
- //U.A.Request.init.prototype = {
- // /**
- // * Ajax对象创建
- // *
- // * @param {object} ajax属性
- // */
- // create: function () {
- // // var _ajax,
- // // _header = this.header || {}, //header头部设置
- // // _ajaxtype = _header && _header.type ? _header.type : "GET", //请求格式
- // // _isasync = U.UF.C.isFunction(this.cb), //默认是同步处理
- // // _urlandparams = this.toAjaxFormat(), //生成请求参数 数据结构:
- // // _url = _urlandparams[0], //连接的后台地址 形如"http://cd.1473.cn/php"
- // // _db = _urlandparams[1]; //传参参数;
- // // //get请求就直接拼接
- // // if (_ajaxtype.toUpperCase() == "GET") {
- // // _url += "?" + _db;
- // // }
- // // this.ajax = this.createAjax(_url); //生成ajax对象
- // // _ajax = this.ajax.systemAjax; //获取系统ajax对象
- // // _ajax.open(_ajaxtype, _url, _isasync); //设置ajax请求方法 url 是否异步
- // // _header["CONTENT-TYPE"] = _header["CONTENT-TYPE"] || "application/x-www-form-urlencoded;charset=UTF-8"; //请求的type
- // // //设置请求参数
- // // for (i in _header) {
- // // if ("type,setAsyn".indexOf(i) == -1) {
- // // try {
- // // if (i in _ajax) {
- // // _ajax[i] = _header[i];
- // // } else {
- // // _ajax.setRequestHeader(i, _header[i]);
- // // } //设置head头部
- // // } catch (e) { }
- // // }
- // // }
- // // // 指定服务器返回数据的MIME类型 firfox设置兼容
- // // if (_ajax.overrideMimeType) {
- // // if (_header["responseType"] == "blob") {
- // // _ajax.overrideMimeType("text/plain; charset=x-user-defined");
- // // } else {
- // // _ajax.overrideMimeType("text/html");
- // // }
- // // }
- // // //发送请求
- // // _ajax.send(_db);
- // // this.header ? "" : this.header
- // var i,
- // _url,
- // _isdomain,
- // _db,
- // _ajax,
- // _isasync,
- // r;
- // var _ajaxtype = _header.type; //用户请求类型,默认1473全部是post请求。
- // var _urlandparams = this.toAjaxFormat(); //生成请求参数 数据结构:
- // _url = _urlandparams[0]; //连接的后台地址 形如"http://cd.1473.cn/php"
- // _db = _urlandparams[1]; //传参参数;
- // //如果不传递回调函数,则为同步请求,示例:U.A.Request(US.AUTH,"UseStudioManage.AddToLoginLog", [US.userInfo.userid || US.EMPTYGUID, US.city.userAllLocation || "", US.ITID]);。返回json数据,一直等待服务器返回,如果服务器执行1分钟,页面停顿1分钟。
- // if (U.UF.C.isFunction(this.cb)) {
- // _isasync = true; //函数是否异步
- // }
- // //如果请求为get
- // if (_ajaxtype.toUpperCase() == "GET") {
- // _url += "?" + _db;
- // }
- // this.ajax = this.createAjax(_url); //生成ajax对象
- // _ajax = this.ajax.systemAjax; //获取系统ajax对象
- // _ajax.open(_ajaxtype, _url, _isasync); //设置ajax请求方法 url 是否异步
- // _header["CONTENT-TYPE"] = _header["CONTENT-TYPE"] || "application/x-www-form-urlencoded;charset=UTF-8"
- // //设置请求参数
- // for (i in _header) {
- // if ("type,setAsyn".indexOf(i) == -1) {
- // try {
- // if (i in _ajax) {
- // _ajax[i] = _header[i];
- // } else {
- // _ajax.setRequestHeader(i, _header[i]);
- // } //设置head头部
- // } catch (e) { }
- // }
- // }
- // // 指定服务器返回数据的MIME类型 firfox设置兼容
- // if (_ajax.overrideMimeType) {
- // if (_header["responseType"] == "blob") {
- // _ajax.overrideMimeType("text/plain; charset=x-user-defined");
- // } else {
- // _ajax.overrideMimeType("text/html");
- // }
- // }
- // //发送请求
- // _ajax.send(_db);
- // //得到服务器返回的值,一般为json,也可能为字符串。如果是异步,则走异步逻辑,否则走同步逻辑
- // if (_isasync) {
- // r = this["setAsyn"]();
- // } else {
- // r = this["getAjaxData"]();
- // }
- // //返回
- // return _isdomain;
- // },
- // /**
- // * Ajax对象创建
- // *
- // * @param {object} ajax属性
- // */
- // // create: function () {
- // // var _header = {};
- // // var i,
- // // _url,
- // // _isdomain,
- // // _db,
- // // _ajax,
- // // _isasync,
- // // r;
- // // var _ajaxtype = "POST"; //用户请求类型,默认1473全部是post请求。
- // // var _params = this.toAjaxFormat(); //生成请求参数 数据结构:
- // // _url = _params[0]; //连接的后台地址 形如"http://cd.1473.cn/php"
- // // _db = _params[1]; //传参参数;
- // // //如果不传递回调函数,则为同步请求,示例:U.A.Request(US.AUTH,"UseStudioManage.AddToLoginLog", [US.userInfo.userid || US.EMPTYGUID, US.city.userAllLocation || "", US.ITID]);。返回json数据,一直等待服务器返回,如果服务器执行1分钟,页面停顿1分钟。
- // // if (U.UF.C.isFunction(this.cb)) {
- // // _isasync = true; //函数是否异步
- // // }
- // // //如果请求为get
- // // if (_ajaxtype.toUpperCase() == "GET") {
- // // _url += "?" + _db;
- // // }
- // // //设置请求超时时间
- // // if (_isasync) {
- // // // 给_header对象添加属性
- // // _header.timeout = 90000;
- // // _header.ontimeout = U.UF.C.apply(this, function () { this.asyn(); });
- // // }
- // // this.ajax = this.createAjax(_url); //生成ajax对象
- // // _ajax = this.ajax.systemAjax; //获取系统ajax对象
- // // _ajax.open(_ajaxtype, _url, _isasync); //设置ajax请求方法 url 是否异步
- // // // 指定服务器返回数据的MIME类型 firfox设置兼容
- // // _ajax.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded;charset=UTF-8");
- // // // 指定服务器返回数据的MIME类型 firfox设置兼容
- // // if (_ajax.overrideMimeType) {
- // // _ajax.overrideMimeType("text/html");
- // // }
- // // //发送请求
- // // _ajax.send(_db);
- // // //得到服务器返回的值,一般为json,也可能为字符串。
- // // if (_isasync) {
- // // r = this.setAsyn();
- // // } else {
- // // r = this.getAjaxData();
- // // }
- // // //返回
- // // return r;
- // // },
- // /**
- // * 根据请求的url判断域名是否存在跨域。三种跨域情况
- // * @return
- // */
- // handleDomain: function () {
- // //1、二级域名跨域,一般是a.1473.cn访问b.1473.cn。。可能是正常访问,也可能是iframe访问。,
- // //2、完全跨域。www.a.com访问www.b.com。
- // //3、没有跨域的情况
- // var _isdomain, _url, _frame;
- // var _params = this.toAjaxFormat(); //生成请求参数 数据结构:
- // _url = _params[0]; //连接的后台地址 形如"http://cd.1473.cn/php"
- // _isdomain = this.isDomain(_url);
- // //1473跨域处理,判断是否是1473域,如果不是,则是外域调用
- // if (_isdomain[0] && !_isdomain[1]) { // 判断是否是1473主域
- // //如果是1473域的处理
- // _frame = window.frames; //所有加载的域,对1473域下所有iframe进行循环,目的是找到可跨域的iframe。
- // for (i = 0; i < _frame.length; i++) {
- // try {
- // if (!_url.indexOf(_frame[i].location.protocol + "//" + _frame[i].location.host)) { //找到指定的跨域
- // return _frame[i].U.A.Request(this.url, this.db, this.cb, this.cbparams, this.header); //跨域获取
- // }
- // } catch (e) { }
- // }
- // }
- // //完全跨域判断非1473的域名,
- // else if (!_isdomain[1] && _url.indexOf("1473.cn") > -1 && U.selectEl("#U_Domain")[0]) { //其他域名跨域处理
- // //其他站点,跨域形式访问:例如:http://a.com/ 在页面中调用U.A.Request(US.AUTH,"UseStudioManage.AddToLoginLog", [US.userInfo.userid || US.EMPTYGUID, US.city.userAllLocation || "", US.ITID]);
- // this.goDomain(); //外站跨域调用
- // return false;
- // }
- // return true;
- // },
- // //把传参格式转换为Ajax请求格式
- // // 刑如:US.AUTH,"AddToLoginLog", [US.userInfo.userid , US.city.userAllLocation , US.ITID] 转换为下面的格式
- // // 格式:"http://main.1473.cn/Uses.ashx",US.userInfo.userid || US.EMPTYGUID +"&" + US.city.userAllLocation || ""+ "&" + US.ITID, "http://main.1473.cn/Uses.ashx"(默认请求地址,如果第一个参数不在U.A.backAddress中,则使用第三个)
- // /*
- // * @return {array} 域、 加密参数
- // */
- // toAjaxFormat: function () {
- // var _userinfo,
- // _useurl,
- // _url = this.url, //这个是请求参数
- // _params = U.UF.C.urlEncode(this.db.concat()), //参数进行加密
- // _source = _url.indexOf(":") > -1 && U.UF.C.isUrl(_url), //判断来源是否是链接
- // _requestarr = _url.split("."); //这里拆分1473的请求
- // //通过链接方式去访问
- // // if (_source) {
- // _useurl = _url;
- // _params = "mode=" + _params; //设置传参
- // // }
- // // //相对路径访问方式
- // // else {
- // // _useurl = window.location;
- // // _useurl = window.location ? _useurl.protocol + "//" + _useurl.host + "/" + _url : "./" + _url;
- // // _params = "mode=" + _params;
- // // }
- // //请求中添加用户的信息
- // try {
- // //获取全局变量US
- // if (parent.US) {
- // _userinfo = top.US.userInfo; //获取用户的信息
- // //如果用户的信息存在那么拼接用户的信息
- // if (_userinfo && _userinfo.UserId) {
- // _params += "&UserId=" + _userinfo.UserId + "&LoginId=" + _userinfo.LoginId;
- // }
- // //设置1473项目传参的id
- // _params += "&PageId=" + US.pageId + "&SystemId=" + US.systemId;
- // }
- // }
- // catch (e) { }
- // //请求的地址,参数,请求的后台函数名
- // return [_useurl, _params];
- // },
- // //完全跨域设置(此处非1473域名区域)处理区域
- // goDomain: function () {
- // // 获取回调参数
- // var _loading = this.cbparams ? this.cbparams[0] : null;
- // // 加载loading
- // if (_loading) {
- // U.UF.DL.loading(_loading[0])
- // } else {
- // U.UF.DL.loading(_loading, _loading[1])
- // }
- // // (_UDE) && (U.UF.DL.loading(_UDE[0] || _UDE, _UDE[1])); //设置loading
- // // 页面消息传递
- // new U.UF.EV.message({
- // "obj": "#U_Domain",
- // "Sender": true, //消息发送
- // "me": U.UF.C.apply(this, function (_data) { //接受到跨域的ajax的回调处理
- // var _dataarr = _data[2].split("=");
- // //后台设置了cookie 前台同时响应
- // if (_dataarr[1] == "") {
- // U.UF.Cookie.del(_dataarr[0]);
- // } else {
- // U.UF.Cookie.set(_data[2]);
- // }
- // //document.wincookie = _data[2]; //记录cookie
- // if (this.asyn) {//回调函数
- // this.asyn(_data[0])
- // }
- // })
- // }).post([this.url, this.db], "domain"); //跨域传参
- // },
- // /**
- // * 获取链接地址
- // *
- // * @param {url} 连接地址
- // -----------[0] 是否为1473域
- // -----------[0] 是否为主域
- // */
- // isDomain: function (URL) {
- // var _url;
- // //用本地html打开网站时,没有window.location。
- // if (window.location) {
- // //获取当前域名地址栏,不包含目录结构。例如:
- // _url = window.location.protocol + "//" + window.location.host; //当前域
- // if (_url.indexOf("1473.cn") > -1 && URL.indexOf("1473.cn") > 0) {
- // return [true, !URL.indexOf(_url)];
- // } else {
- // return [false, false];
- // }
- // }
- // },
- // /**
- // * 创建Ajax对象
- // *
- // * @param {url} 连接地址
- // * @returns {object} ajax对象
- // */
- // createAjax: function (url) {
- // //从已经存在的ajax对象中找到已经结束请求的ajax对象,重新使用,避免ajax对象没有释放,重新创建的问题。
- // //Ajax兼容
- // var i, _ajax, _xhr, _url, _ajaxobj = U.A.allAjax,
- // _preajax = _ajaxobj[_ajaxobj.length - 1],
- // _xhr = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]; //ajax对象
- // // 获取当前域名
- // if (window.location) {
- // _thisUrl = window.location.protocol + "//" + window.location.host;
- // } else {
- // _thisUrl = "";
- // }
- // //获取可以使用的Ajax对象
- // for (i = 0; i < _ajaxobj.length; i++) { //在ajax里找到使用对象
- // if ((_ajax = _ajaxobj[i].systemAjax).readyState == 4) {
- // _ajax.onreadystatechange = function () { }; //设置回调为空
- // _ajax.abort(); //停止
- // return _ajaxobj[i];
- // }
- // }
- // //这里创建Ajax对象
- // try { _ajax = new window.XMLHttpRequest(); } //浏览器默认ajax对象
- // catch (e) {
- // for (i = 0; i < _xhr.length; i++) { //ie6-系列使用
- // try {
- // _ajax = new ActiveXObject(_xhr[i]);
- // break;
- // } catch (e) { }
- // }
- // }
- // //h5创建跨域ajax
- // if (url.indexOf(_thisUrl) == -1 && window.XDomainRequest) {
- // _ajax = new window.XDomainRequest();
- // }
- // //疑似非法ajax请求次数记录
- // var _timespan;
- // //如果当前发送的ajax请求和上一次发送的ajax请求时间小于0.05秒。则判断为循环非法操作。
- // if (_preajax && ((new Date().getTime() - _preajax.date) < 50)) {
- // _timespan = _preajax.timespan + 1; //恶意攻击+1.
- // } else {
- // if (_preajax) {
- // _timespan = _preajax.timespan;
- // } else {
- // _timespan = 0;
- // }
- // }
- // //(_preajax && ((new Date().getTime() - _preajax.D) < 50)) ? _preajax.J + 1 : _preajax ? _preajax.J : 0;
- // //生成ajax请求
- // var ajax = {
- // systemAjax: _ajax, //系统ajax new window.XMLHttpRequest(); //systemajax
- // date: this.time, //当前时间 new Date(); //date
- // fun: this.url, //向后台发送请求的函数名称。 //fun
- // timespan: _timespan //与上一次发送Ajax请求的时间差距。 //timespan
- // };
- // _ajaxobj.push(ajax); //把这次的ajax请求记录到数组,目的是方便以后获取查询过的ajax。1、为了找错误,2、为了判断ajax的时间差,防止恶意用户用循环向服务器不断发送请求,导致服务器瘫痪。
- // //return (_UDE[_UDE.length] = { TO: _UAE, D: this.time, N: this.fun, J: (_UOE && ((new Date().getTime() - _UOE.D) < 50)) ? _UOE.J + 1 : _UOE ? _UOE.J : 0 });
- // return ajax;
- // },
- // //设置异步请求
- // setAsyn: function () {
- // var _ajax = this.ajax.systemAjax, //ajax对象
- // _loading = this.cbparams, //回调参数 loading
- // _isundefined = U.UF.Ut.isUndefined(_ajax.onload), //判断兼容问题
- // _cb;
- // if (_isundefined) {
- // //回调函数设置
- // _cb = U.UF.C.apply(this, function () {
- // if (this.ajax.systemAjax.readyState == 4) {//已经加载成功
- // this.asyn();
- // }
- // });
- // }
- // else {
- // _cb = U.UF.C.apply(this, function () {
- // this.ajax.systemAjax.status = 200; //设置成功状态
- // this.asyn(); //调用跨域统一处理
- // }); //回调函数设置
- // }
- // // 设置loading
- // if (_loading && _loading[0]) {
- // if (_loading[0][0]) {
- // U.UF.DL.loading(_loading[0][0], _loading[0][1]);
- // } else {
- // U.UF.DL.loading(_loading[0], _loading[0][1]);
- // }
- // }
- // // (_cbParams && _cbParams[0]) && (U.UF.DL.loading(_cbParams[0][0] || _cbParams[0], _cbParams[0][1]));
- // //设置错误和异步请求
- // // 设置ajax回调函数
- // if (_isundefined) {
- // _ajax.onreadystatechange = _cb;
- // } else {
- // _ajax.onload = _cb;
- // }
- // // 设置ajax错误时的处理
- // try {
- // _ajax.onerror = U.UF.C.apply(this, function () {
- // this.ajax.systemAjax.status = 500; //设置错误为500
- // this.asyn(); //异步处理
- // });
- // } catch (e) { }
- // },
- // /**
- // * 服务器异步加载成功后,得到返回值,取消loading,然后回调.
- // *
- // * @param {boolean} 是否可以直接通过 不进行ajax流程判断
- // * @param {string} 绕过ajax流程 传参
- // */
- // asyn: function (data) {
- // try {
- // //ajax请求成功该请求的请求数改成0
- // if (this.ajax) {
- // this.ajax.timespan = 0;
- // }
- // var _loading = this.cbparams, //loading 元素
- // _data = this.getAjaxData(data), //ajax string 数据 生成 json数据集
- // _timeSpan = (new Date()).getTime() - this.time.getTime(); //ajax总共耗时
- // // 取消loading
- // if (_loading && _loading[0]) {
- // if (_loading[0][0]) {
- // U.UF.DL.uploading(_loading[0][0]);
- // } else {
- // U.UF.DL.uploading(_loading[0]);
- // }
- // }
- // // (_UPE && _UPE[0]) && (U.UF.DL.uploading(_UPE[0][0] || _UPE[0])); //取消loading
- // //访问时间太长或者出现了错误 输出控制台
- // if (_timeSpan > 1000 || _data.error) {
- // (U.UF.C.console({ "T": _timeSpan, "N": this.url, "V": _data.error }));
- // }
- // //关闭连接
- // if (_data.httpRequest.abort) {
- // _data.httpRequest.abort();
- // }
- // //回调数据
- // if (this.cb && _data.value !== null) {
- // this.cb.call(this.win, _data)
- // }
- // } catch (e) { U.UF.C.console(e); }
- // },
- // /**
- // * 生成数据
- // *
- // * @param {string} 绕过ajax流程 传参
- // * @return {string} 数据参数
- // */
- // getAjaxData: function (data) {
- // var _iserror, _ajax;
- // //获取ajajx对象
- // if (this.ajax) {
- // _ajax = this.ajax.systemAjax;
- // }
- // else {
- // _ajax = {};
- // }
- // var _ajaxattr = { httpRequest: _ajax, status: null, value: null, _context: this.cbparams }; //ajax对象使用
- // //请求成功处理
- // if (_ajax.status == 200) {
- // _ajaxattr.value = data || this.getBackStrToJson(); //生成返回的参数
- // }
- // //错误处理.
- // else {
- // _ajaxattr.status = {
- // "status": _ajax.status,
- // "statusText": _ajax.statusText
- // };
- // }
- // return _ajaxattr; //生成数据返回
- // },
- // /**
- // * 得到后台返回的字符串,再把后台返回的字符串生成一个json对象
- // *
- // * @return {object} json值
- // */
- // getBackStrToJson: function () {
- // var _ajax = this.ajax.systemAjax, //ajax对象
- // _resXml = _ajax.responseXML; //xml对象
- // //如果服务器返回的为xml对象
- // if (_resXml) {
- // _resXml = _resXml.xml
- // }
- // if (!_resXml) {
- // _resXml = _ajax.responseText; //返回的值
- // _resXml = U.UF.C.toJson(_resXml); //生成对象
- // }
- // return _resXml;
- // }
- //}
- //#endregion
- //#region
- ///**
- //* Flash上传初始化
- //*
- //*/
- //U.UF.UP.FOnload = function () {
- // try {
- // var _obj = U.UF.UP.FTF; //当前上传的元素
- // _obj["EL"].SetStage(_obj["WH"], _obj["FT"], _obj["GS"] || "*"); //加载插件初始化
- // return true;
- // }
- // catch (e) {
- // return false;
- // }
- //}
- ///**
- //* 上传的错误提示
- //*
- //* @param {error} 错误信息
- //*/
- //U.UF.UP.FLEX = function (err) {
- // U.Alert(err);
- // U.UF.C.console(err); //错误函数控制台处理
- //}
- ///**
- //* 添加上传文件 上传文件的显示
- //*
- //* @param {error} 错误信息
- //*/
- //U.UF.UP.FLAdd = function (UDE, UL) {
- // var _UDOD = U.UF.UP.FTF.EL, //当前上传的元素
- // _UDID = _UDOD.ID || _UDOD.name;
- // if (U.UF.UP.FTF[_UDID] && U.UF.UP.FTF[_UDID].FT && U.UF.UP.FTF[_UDID].FT["select"]) {
- // U.UF.UP.FTF[_UDID].FT["select"](UDE, UL);
- // }
- //}
- ////上传所有文件完毕
- //U.UF.UP.FLACP = function (UFL) {
- // var _UDOD = U.UF.UP.FTF.EL,
- // _UDID = _UDOD.ID || _UDOD.name;
- // if (U.UF.UP.FTF[_UDID] && U.UF.UP.FTF[_UDID].FT && U.UF.UP.FTF[_UDID].FT["AFCP"]) {
- // U.UF.UP.FTF[_UDID].FT["AFCP"](UFL);
- // }
- //}
- ////上传的进度条
- //U.UF.UP.FLJD = function (UDE, FID) {
- // var _UDOD = U.UF.UP.FTF.EL,
- // _UDID = _UDOD.ID || _UDOD.name;
- // if (U.UF.UP.FTF[_UDID] && U.UF.UP.FTF[_UDID].FT && U.UF.UP.FTF[_UDID].FT["progress"]) {
- // U.UF.UP.FTF[_UDID].FT["progress"](UDE, FID);
- // }
- //}
- ////上传文件成功同时服务端返回了数据
- //U.UF.UP.FSLCP = function (UDAT, FID) {
- // var _UDOD = U.UF.UP.FTF.EL,
- // _UDID = _UDOD.ID || _UDOD.name;
- // if (U.UF.UP.FTF[_UDID] && U.UF.UP.FTF[_UDID].FT && U.UF.UP.FTF[_UDID].FT["getData"]) {
- // U.UF.UP.FTF[_UDID].FT["getData"](UDAT, FID);
- // }
- //}
- ////上传文件判断是否存在
- //U.UF.UP.IsFUp = function (UWJL, FID) {
- // var _UDOD = U.UF.UP.FTF.EL,
- // _UDID = _UDOD.ID || _UDOD.name;
- // if (U.UF.UP.FTF[_UDID] && U.UF.UP.FTF[_UDID].FT && U.UF.UP.FTF[_UDID].FT["FUP"]) {
- // U.UF.UP.FTF[_UDID].FT["FUP"](UWJL, FID);
- // }
- //}
- ////上传单个文件完毕
- //U.UF.UP.FLCP = function (data) {
- // U.Alert("等待服务器的响应...");
- //}
- //#endregion
- /**
- * 设置文件下载
- *
- * @param {string} 上传成功回调函数
- * @param {string} 上传成功回调函数
- */
- //U.UF.UP.Down = function (str1, str2) {
- // if ("createElementNS" in document) { //html5 文件另存为
- // if (!str2) {
- // str2 = document.documentElement.outerHTML
- // };
- // var url2,
- // _url1 = window.URL || window.webkitURL || window,
- // _str = new Blob[str2];
- // url2 = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
- // url2.href = _url.createObjectURL(_str);
- // url2.download = str1;
- // U.UF.EV.simulateMouseClicks(url2, "click");
- // }
- // else { //IE文件另存为
- // if (str2) {
- // var _iframe = $$("iframe",
- // {
- // "display": "none"
- // });
- // U.UF.C.iframeSameDomain(_iframe, str2, function () {
- // _iframe.contextWindow.document.execCommand("SaveAs");
- // });
- // }
- // else {
- // document.execCommand("SaveAs");
- // } //当前文档保存
- // }
- //}
- /**
- * 根据条件,对json数组进行排序
- *
- * @param {array} 需要进行选择的json数组。
- * @param {number} 排序方式 1正序 -1倒序
- * @return {string} 排序的条件,json数组中的键名
- 实例一
- var a = [{id:3},{id:1},{id:2}];
- U.Json.sort(a,"id");
- */
- U.Json.sort = function (arr, key, isreverse) { //排序
- isreverse = isreverse || 1;
- arr = arr.sort(function (obj1, obj2) {
- var _value,
- _type, //比较大小的类型
- _isobj = U.UF.C.isObject(obj1); //判断比较的大小是否为对象
- //对象的大小匹配
- if (_isobj) {
- _type = U.UF.C.getType(obj1[key] || obj2[key]).capitalizeFirstLetter(); //由于类型的值有可能是null或者是undefined,判断两种比较安全
- _value = U.UF.Ut["compare" + _type](obj1[key], obj2[key]); //得到匹配的大小
- }
- //非对象的处理方式 U.UF.Ut.compare+type 是一些列的对象比较大小的方法
- else {
- _type = U.UF.C.getType(obj1).capitalizeFirstLetter();
- _value = U.UF.Ut["compare" + _type](obj1, obj2); //得到匹配的大小
- }
- //isreverse 用于判断倒序还是正序,如果是-1就是倒序,如果是1就是正序
- _value = isreverse * (_value ? 1 : -1);
- return _value;
- });
- return arr;
- }
- /**
- * 判断是否为错误
- *
- * @param {Error} 错误对象值
- * @return {boolean} 是否为错误类型
- */
- U.UF.Ut.isError = function (UDE) {
- return U.UF.C.isObject(UDE) && U.UF.C.objectToString(UDE) == "[object Error]";
- }
- /**
- * 判断是否为正则
- *
- * @param {RegExp} 正则值
- * @return {boolean} 是否为RegExp
- */
- U.UF.Ut.isRegExp = function (UDE) {
- return U.UF.C.isObject(UDE) && U.UF.C.objectToString(UDE) == "[object RegExp]";
- }
- /**
- * 判断是否为Undefined
- *
- * @param {number} 判断数组是否有值
- * @return {boolean} 是否为number
- */
- U.UF.Ut.isUndefined = function (UDE) {
- return (UDE === void 0);
- }
- /**
- * 判断是否是无限循环数字
- *
- * @param {number} 判断数组是否有值
- * @return {boolean} 是否为number
- */
- U.UF.Ut.isFinite = function (UDE) {
- return !isNaN(parseFloat(UDE)) && isFinite(UDE);
- }
- /**
- * 判断是否为NaN
- *
- * @param {array} 判断数组是否有值
- * @return {boolean} 是否为number
- */
- U.UF.Ut.isNaN = function (UDE) {
- return UDE.toString() == 'NaN'
- }
- /**
- * 判断是否为字符串数字
- *
- * @param {array} 判断数组是否有值
- * @return {boolean} 是否为number
- */
- U.UF.C.isStringInt = function (UDE) {
- return U.UF.C.isNumber(UDE) || U.UF.S.Num.test(UDE);
- }
- /**
- * 判断是否为空
- *
- * @param {object} 判断内容是否为空
- * @return {boolean} 是否为null
- */
- U.UF.Ut.isNull = function (UDE) {
- return UDE === null;
- }
- /**
- * 判断是否为bool
- *
- * @param {array} 判断数组是否有值
- * @return {boolean} 是否为boolean值
- */
- U.UF.Ut.isBoolean = function (UDE) {
- return typeof UDE === "boolean";
- }
- /**
- * 判断数组是否可用
- *
- * @param {array} 判断数组是否有值
- * @return {boolean} 是否为有值数组
- */
- U.UF.Ut.isArrayLike = function (UDE) {
- return Array.isArray(UDE) && UDE.length > 0;
- }
- /**
- * 判断是否支持播放
- *
- * @param {string} 指定的格式 mp3、mpo4
- * @return {number} 是否支持改格式播放
- -----------[0] 不支持
- -----------[1] 支持
- */
- U.UF.C.isPlay = function (type) {
- var _video = U.MD.V.vi(); //获取h5视频播放对象
- //判断浏览器是否支持video标签
- if (_video) {
- if (_video.isPlay(type, $$("video"))) {
- return 1;
- };
- return 0;
- }
- return _video;
- }
- //#region RadioList
- //选择框使用
- U.UF.UI.RadioList = function (UDOD, UDE, cb) {
- return new U.UF.UI.RadioList.init(UDOD, UDE, cb);
- }
- U.UF.EV.addPrototype(U.UF.UI.RadioList,
- U.UF.UI.RadioList.init = function (UDOD, UDE, cb) {
- this.UDTD;
- this.UDE = UDE;
- this.UDOD = UDOD;
- this.cb = cb;
- this.create(UDOD);
- },
- U.UF.UI.RadioList.create = function (UDOD) {
- var i, _UDTD, _UDE = this.UDE,
- _UN = Guid.guidNoDash(),
- _UDFD = $$("frag");
- if (_UDE) {
- UDOD.innerText = "";
- for (i in UDE) {
- if (UDE.hasOwnProperty(i)) {
- _UDTD = $$("div", {
- "innerHTML": UDE[i],
- "style": {
- "cssText": "margin-left:5px;"
- }
- }, _UDFD);
- _UDTD = $$("input", {
- "type": "radio",
- "value": i,
- "name": _UN,
- "checked": i ? false : true,
- "onclick": function () { this.chang(); }
- }, _UDTD);
- if (!i) { this.UDTD = _UDTD };
- }
- }
- UDOD.appendChild(_UDFD);
- } else {
- _UDTD = U.selectEl("input[type='radio']", UDOD).addAttrArray({
- "name": _UN,
- "onclick": function () { this.chang(); }
- });
- for (i = 0; i < _UDTD.length; i++) {
- if (_UDTD[i].checked) {
- this.UDTD = _UDTD[i];
- break;
- }
- }
- } //设置相同的name
- },
- U.UF.UI.RadioList.value = function () {
- return this.UDTD.value;
- }, //当前聚焦元素的值
- U.UF.UI.RadioList.element = function () {
- return this.UDTD;
- }, //当前聚焦元素
- U.UF.UI.RadioList.chang = function () {
- var _UDOD = event.srcElement;
- if (_UDOD != this.UDTD) { this.UDTD = _UDOD, (this.cb) && (this.cb(_UDOD)) };
- }
- //改变事件
- // U.UF.C.AddObj(U.UF.UI.RadioList, {
- // init: function (UDOD, UDE, cb) {
- // this.UDTD;
- // this.UDE = UDE;
- // this.UDOD = UDOD;
- // this.cb = cb;
- // this.create(UDOD);
- // },
- // //生成RadioList
- // create: function (UDOD) {
- // var i, _UDTD, _UDE = this.UDE,
- // _UN = Guid.guidNoDash(),
- // _UDFD = $$("frag");
- // if (_UDE) {
- // UDOD.innerText = "";
- // for (i in UDE) {
- // if (UDE.hasOwnProperty(i)) {
- // _UDTD = $$("div", {
- // "innerHTML": UDE[i],
- // "style": {
- // "cssText": "margin-left:5px;"
- // }
- // }, _UDFD);
- // _UDTD = $$("input", {
- // "type": "radio",
- // "value": i,
- // "name": _UN,
- // "checked": i ? false : true,
- // "onclick": function () { this.chang(); }
- // }, _UDTD);
- // if (!i) { this.UDTD = _UDTD };
- // }
- // }
- // UDOD.appendChild(_UDFD);
- // } else {
- // _UDTD = U.selectEl("input[type='radio']", UDOD).addAttrArray({
- // "name": _UN,
- // "onclick": function () { this.chang(); }
- // });
- // for (i = 0; i < _UDTD.length; i++) {
- // if (_UDTD[i].checked) {
- // this.UDTD = _UDTD[i];
- // break;
- // }
- // }
- // } //设置相同的name
- // },
- // value: function () {
- // return this.UDTD.value;
- // }, //当前聚焦元素的值
- // element: function () {
- // return this.UDTD;
- // }, //当前聚焦元素
- // chang: function () {
- // var _UDOD = event.srcElement;
- // if (_UDOD != this.UDTD) { this.UDTD = _UDOD, (this.cb) && (this.cb(_UDOD)) };
- // } //改变事件
- ));
- U.UF.UI.RadioList.init.prototype = U.UF.UI.RadioList.prototype;
- //#endregion
|