


AppBaseJs 클래스 라이브러리는 인터넷에서 일반적으로 사용되는 javascript 기능과 기타 js 클래스 라이브러리에 기록된_js 객체 지향적입니다.
/*----------------------
웹 애플리케이션 JavaScript 라이브러리
2009.11 잔치
--------------------------------------*/
//String原生对象扩展 置空左右端공간格
String.prototype.trim = function(){
return this.replace(/(^[sntr]*)|([snrt]*$) /g, "");
}; var p = function p(s) {
return (s.toString().length == 1) ? "0" s : s;
};
문자열 반환 ? string.replace(/dd?d?d?|MM?M?M?|yy?y?y?|hh?|HH?|mm?|ss?|tt?|zz?z?/g,
function(문자열) {
스위치(문자열) {
case "hh": return p(self.getHours() < 13 ? self.getHours() : (self.getHours() - 12)) ;
case "h": return self.getHours() < 13 ? self.getHours() : (self.getHours() - 12)
case "HH": return p(self.getHours() ));
case "H": return self.getHours();
case "mm": return p(self.getMinutes())
case "m": return self.getMinutes() ;
case "ss": return p(self.getSeconds());
case "s": return self.getSeconds()
case "yyyy": return self.getFullYear(); 🎜>case "yy": return self.getFullYear().toString().substring(2, 4);
case "dddd": return self.getDayName()
case "ddd": return self .getDayName(true);
case "dd": return p(self.getDate());
case "d": return self.getDate().toString()
case "MMMM" : return self.getMonthName();
case "MMM": return self.getMonthName(true);
case "MM": return p((self.getMonth() 1)); M": return self.getMonth() 1;
case "t": return self.getHours() < 12? Date.CultureInfo.amDesignator.substring(0, 1) : Date.CultureInfo.pmDesignator.substring(0, 1);
case "tt": return self.getHours() < 12? Date.CultureInfo.amDesignator : Date.CultureInfo.pmDesignator;
case "zzz":
case "zz":
case "z": return "";
}
}) : this.toString();
};
/*-------------------------*/
/ /声明对象
var App = {};
//对象继承或属성합
App.extend = function(obj, hash) {
this.each(hash, function(key, value) {
obj[key] = value;
});
obj를 반환합니다.
};
//遍历
App.each = function(obj, func, context) {
var length = obj.length, i = -1;
if(length !== undefine) {
while( i < length) if(func.call(context, obj[i], i, obj, length) === false) break;
}
else for(var key in obj) if(obj.hasOwnProperty(key)) if(func.call(context, key, obj[key], obj) === false) break;
obj를 반환합니다.
};
(function(doc, win){
var string = Object.prototype.toString,
quirks = doc.compatMode === "BackCompat",
docelem = doc.documentElement,
ua = win.navigator.userAgent.toLowerCase(),
version = (ua.match( /.(?:rv|it|ra|ie)[/: ]([d.] )/ ) || [ ])[1],
isChrome = /chrome/.test(ua),
isWebKit = /webkit/.test(ua),
isSafari = !isChrome && isWebKit,
isOpera = / Opera/.test(ua),
isIE = /msie/.test(ua ) && !isOpera,
isFF = /firefox/.test(ua)
//Dom加载
doc .ready = function(func) {
var isReady = false,doReady = function() {
if (isReady) return
isReady = true;
}; if (isIE) {
if (docelem.doScroll && win.self == win.top) {
(function() {
if (isReady) return;
try {
docelem .doScroll("왼쪽");
} catch(오류) {
setTimeout(arguments.callee, 0);
return;
}
doReady()}) ();
}else {
if (isReady) return;
this.attachEvent("onreadystatechange", function() {
if (doc.readyState === "complete") {
doc.detachEvent("onreadystatechange",args.callee);
doReady();
}
});
}
win.attachEvent('onload', doReady);
}else if (isWebKit && 버전 < 525) {
(function() {
if (isReady) return;
if (/loaded|complete/.test(doc.readyState))
doReady();
else
setTimeout(arguments.callee, 0)
})();
win.addEventListener('load', doReady, false);
}else {
if (!isFF)
this.addEventListener("DOMContentLoaded", function() {
doc.removeEventListener("DOMContentLoaded", 인수.callee, false);
doReady()
}, 거짓);
this.addEventListener('load', doReady, false);
}
};
App.extend(App,{
//类型检测
isArray: function(v) { //是否为数组
return string.apply(v) === "[object Array] ";
},
isFunction: function(v) { //是否为函数体
return string.apply(v) === "[객체 함수]";
},
isNumber: function(v) { //是否为数字
return typeof v === "number" && isFinite(v)
},
isDate: function(v) { //是否为日期
return string.apply(v) === "[객체 날짜]";
},
isElement: function(v) { //是否为Dom元素节点
return !!( v && v.nodeType === 1)
},
// 브라우저 감지
isOpera: isOpera,
isChrome: isChrome,
isWebKit: isWebKit,
isSafari: isSafari,
isIE: isIE,
isFF: isFF ,
isQuirks:quirks,
getVersion:version,
//id 요소 가져오기
$: function(id) {
return typeof id === "string" ? .getElementById(id) : id;
},
//이름 요소 컬렉션 가져오기
$N:function(name){
return doc.getElementsByName(name)},
//태그 요소 컬렉션 가져오기
$T:function(tag, root){
return (root || doc).getElementsByTagName(tag)
},
//By 속성 이름(포함 여부), 값 및 범위는
$A:function(attrName, attrValue, tag, root){
var elems = doc.all ? $T( 태그 || "*",root || doc), 결과 = [],
attVal = (attrValue 유형 != "정의되지 않음")? new RegExp("(^|\s)" attrValue "( \s|$)" ) : null;
for(var i=0; i
if(typeof attr === "string" && attr.length > 0){
if(typeof attrValue === "undefine" || (attVal && attVal.test(attr)) ){
result .push(elems[i]);
}
}
}
return result
},
//본문 요소 가져오기
$B: doc.body | docelem,
//클래스 속성 요소 컬렉션 가져오기
$C:function(attrValue, tag, root){
return this.$A("className", attrValue, tag, root);
},
//브라우저 창 너비 가져오기
getWinWidth: win.innerWidth || docelem.clientWidth,
//가져오기 브라우저 창 높이
getWinHeight : win.innerHeight || docelem.clientHeight || doc.body.clientHeight,
//요소 스타일 가져오기
getStyle: function(elem,name){
if( elem.style[이름]){
return elem.style[이름];
}else if(elem.currentStyle){
return elem.currentStyle[이름]
}else if(doc .defaultView && doc.defaultView.getComputeStyle ){
name = name.replace(/([A-Z])/g,"-$1")
name = name.toLowerCase()
var s = doc.defaultView.getCompulatedStyle(elem ,"");
return s && s.getPropertyValue(name)
}else{
return null; //요소 화면 좌표 값 가져오기
getPosition: function() {
return docelem.getBoundingClientRect && function(o){
var pos = o.getBoundingClientRect(), root = o.ownerDocument || o .doc;
return {left :pos.left root.documentElement.scrollLeft,top:pos.top root.documentElement.scrollTop}
} || function(o){
var x = 0, y = 0;
do{ x = o.offsetLeft;y = o.offsetTop;}while((o=o.offsetParent))
return {left:x,top:y}; };
}(),
//투명도 설정
setOpacity: function (elem,num){
if(elem.filters){
elem.style.filter = "alpha( opacity=" num ")";
}else{
elem.style.opacity = num/100;
}
},
//요소 숨기기 또는 표시
숨기기: function(elem){elem.style.display = "none";},
show: function(elem){elem.style.display = "block";},
toggle: function(elem){
elem.style.display = this .getStyle(elem,"display") === "none" ?"block":"none"
},
//요소 클래스 속성 작업
addClass: function(elem, clsName) {
if (elem.className === '') {
elem.className = clsName;
}else if (elem.className !== '' && ( ' ' elem.className ' ').indexOf(' ' clsName ' ') === -1) {
elem.className = elem.className ' ' clsName;
}
},
RemoveClass: function(elem, clsName) {
if (clsName && (' ' elem.className ' ')).indexOf(' ' clsName ' ') > -1) {
elem.className = (' ' elem.className ' ').replace( ' ' clsName ' ', ' ').replace(/^ | $/g,'')
}
},
//Html 텍스트 객체 추가 (테이블 지원)
append: function(elem, text) {
if (typeof text === "string") {
if (elem.insertAdjacentHTML){
if (elem.tagName = == "TABLE"){
var html = elem.outerHTML,ep = elem.parentNode,sl = html.length
text = html.substr(0,sl-8) text html.substr(sl) -8,sl);
ep.insertAdjacentHTML("beforeEnd", text);
ep.replaceChild(ep.lastChild,elem)
}else{
elem.insertAdjacentHTML("beforeEnd" , text);
}
}else {
var rlt = null, rg = doc.createRange(), fm = rg.createContextualFragment(text)
rlt ? rlt) : elem.appendChild(fm) ;
}
}else if (typeof text === "object") elem.appendChild(text)
},
//요소 제거
remove:function(elem){
if (elem.parentNode) elem.parentNode.removeChild(elem);
},
//빈 요소 콘텐츠 및 하위 노드
empty:function( elem){
while( elem.firstChild){
elem.removeChild(elem.firstChild);
}
},
//이미지 사전 로드
loadimages: function(){
var a = 인수 ,loads = function(){
if(doc.images){ if(!doc.ps) doc.ps = []
var i,j=doc.ps. length; for(i=0 ; i
};
arguments.callee.caller ? load():doc.ready(loads)
},
/ /이벤트 바인딩
바인딩: function () {
if (win.addEventListener) {
return function(elem, sType, fnc) {
elem.addEventListener(sType, fnc, false); 🎜>}
}else if (win.attachEvent) {
return function(elem, sType, fnc) {
elem.attachEvent("on" sType, fnc)
} else {
return function(){};
}
}(),
//이벤트 바인딩 해제
unbind: function(elem, sType, fnc){
if(elem.removeEventListener) {
elem.removeEventListener(sType, fnc, false);
}else if(elem.detachEvent){
elem.detachEvent("on" sType, fnc);
elem ["on" sType] = null;
}
},
//이벤트 버블링 비활성화
stopPropagation: function(ev) {
if (ev.stopPropagation) {
ev .stopPropagation();
} else {
ev.cancelBubble = true;
}
},
//기본 이벤트 동작 금지
preventDefault: function(ev) {
if (ev.preventDefault) {
ev.preventDefault();
} else {
ev.returnValue = false;
},
//마우스 위치 가져오기
getXY: function(ev){
return {
x:ev.pageX ? ev.pageX : ev.clientX docelem.scrollLeft,
y:ev.pageY : ev.clientY docelem.scrollTop
}
},
//드래그 이벤트 바인딩
드래그: 함수(obj, obj2){//obj: 이동 객체 obj2: 드래그 지점
obj2 = obj2 | | obj; //드래그 지점이 없으면 드래그 지점은 움직이는 객체입니다.
var x, y, ut = this
obj2.onmousedown = function(e) {
e = e; || win.event;
ut.preventDefault(e);
obj.setCapture && obj.setCapture()
x = ut.getXY(e).x - parsInt(obj.style.left );
y = ut.getXY(e).y - parsInt(obj.style.top);
docelem.onmousemove = over;
docelem.onmouseup =
함수 오버(e){
e || win.event
obj.style.left = ut.getXY(e).x - x "px"
obj.style.top; ut.getXY(e).y - y "px";
}
function up(){
obj.releaseCapture && obj.releaseCapture()
docelem .onmousemove = null; >docelem.onmouseup = null;
}
},
//가로 스크롤 이벤트 바인딩
sliderX: function (obj,x1,x2,overEvent,upEvent) {
var x, t , ut = this;
obj.onmousedown = function (e){
e = e || win.event
ut.preventDefault(e)
obj.setCapture && obj.setCapture( );
t = ut.getXY(e).x -parseInt(obj.style.left);
docelem.onmousemove = over;
docelem.onmouseup = up
}
함수 오버(e){
e = e || win.event
x = ut.getXY(e).x - t
if(x
obj.style.left = x "px"
overEvent && overEvent(x)
}
function up(){
obj .releaseCapture && obj.releaseCapture();
docelem.onmousemove = null;
docelem.onmouseup =
upEvent && upEvent(x);
},
/ /세로 스크롤 이벤트 바인딩
sliderY: function (obj,y1,y2,overEvent,upEvent){
var y, t, ut = this
obj. e = e || win.event;
ut.preventDefault(e);
obj.setCapture && obj.setCapture()
t = ut.getXY (e).y - parsInt(obj. style.top);
docelem.onmousemove = over;
}
function over(e){
e || >y = ut.getXY(e).y - t;
if(y
obj.style.top = y "px";
overEvent && overEvent(y);
function up(){
obj.releaseCapture &&
docelem.onmousemove = null; >docelem.onmouseup = null;
upEvent && upEvent(y)
}
},
//쿠키 설정
setCookie:function(n, v, t){
var exp = new Date();
exp.setTime(exp.getTime() (t||24)*60*60*1000)
doc.cookie = n "=" escape(v) " ;expires=" exp.toGMTString() ';path=/';
},
//쿠키 가져오기
getCookie:function(n){
var arr = doc.cookie.match( new RegExp("(^| )" n "=([^;]*)(;|$)"))
if(arr != null) return unescape (arr[2]); return null;
}
});
})(document,window)
//날짜 문자열 형식
App.parseDate = function(date){
var dt = 날짜 인스턴스 ? 날짜: Date(date.replace("-","/"))
return isNaN(dt.getTime())
}; 🎜>//Json 문자열을 객체로
App.parseJSON = function(jsonString) {
var result = false
try {
result = eval('(' jsonString ')')
}catch (e) {};
return result;
}
//반복되지 않는 고유 값 가져오기
App.getUid = function(){
return "uid " (new Date()).getTime() parseInt(Math.random()*100000);
};
//지정된 범위에서 난수 가져오기
App.random = function (n1 , n2){
return Math.floor(Math.random()*(n2-n1 1)) n1;
}
//초를 밀리초로 변환
App.s2ms = function ( str){
var t = str.split(":");
return t[0] * 60000 t[1] * 1000
};
//밀리초를 초로 변환
App.ms2s = 함수(ms){
return (ms/60000 ":" ms/1000`).replace(/.d /g,"").replace( /(^|:)(d )(?!d)/g,"$10$2");
};
//숫자를 숫자로 변환
App.num2number = function (num, n) {
return Array(n ).join("0").concat(num).slice(-n);
};
//숫자를 중국어로 변환
App.num2gb = function (n){
return "제로 일 이 삼 사 오 육 칠 팔 구".split("")[n]
//플래시 생성 코드
App.getFlash = 함수(url, 너비, 높이, param){
var tagName = "", o1 = {너비:너비||1, 높이:높이||1}, o2 = {};
if (this.isIE){
tagName = "객체 ";
o1.classid = "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
o1.codebase = "http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0";
o2.movie = URL;
o2.quality = "높음";
param && this.extend(o2, param);
}else{
tagName = "삽입 ";
o1.type = "응용프로그램/x-충격파-플래시";
o1.pluginspage = "http://www.adobe.com/go/getflashplayer_cn";
o1.src = URL;
o1.quality = "높음";
param && this.extend(o1, param);
}
if(o1.width<2&&o1.height<2) tagName ='style="position:absolute; top:-100px;" ';
var a1=[], a2=[], i;
for(i in o1) a1.push(i '="' o1[i] '"');
for(i in o2) a2.push('');
'<' 반환 태그이름 a1.join(' ') '>' a2.join('') '' 태그이름 '>';
};
//播放器生成代码
App.getPlayer = function(url, width, height, param){
var wmp = ["6bf52a52-394a-11d3-b153-00c04f79faa6","application/x -mplayer2"];
var rmp = ["CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA","audio/x-pn-realaudio-plugin"];
var mp = /.rm$/.test(url) ? rmp : wmp;
var tagName = "", o1 = {너비:너비||1, 높이:높이||1}, o2 = {};
if (this.isIE){
tagName = "객체 ";
o1.classid = "clsid:" mp[0];
o2.url = URL;
param && this.extend(o2, param);
}else{
tagName = "삽입 ";
o1.type = mp[1];
o1.src = URL;
param && this.extend(o1, param);
}
if(o1.width<2&&o1.height<2) tagName ='style="position:absolute; top:-100px;" ';
var a1=[], a2=[], i;
for(i in o1) a1.push(i '="' o1[i] '"');
for(i in o2) a2.push('');
'<' 반환 태그이름 a1.join(' ') '>' a2.join('') '' 태그이름 '>';
};
//获取XMLHttp对象
App.xmlhttp = function (){
if (this.isFF) return new XMLHttpRequest();
var a = ["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.5.0"];
for (var i=0,l=a.length;i
return new ActiveXObject(a[i]);
}catch(e){}
}
false를 반환합니다.
};
//Get数据
App.get = function (url,callBack){
var x = this.xmlhttp();
x.open("get",url,true);
x.onreadystatechange = function(){
x.readyState==4 && (x.status==0||x.status==200) && callBack(x.responseText);
}
x.send(null);
};
//Post数据
App.post = function (url,arg,callBack){
var x = this.xmlhttp();
x.open("post",url,true);
x.setRequestHeader("Content-Length",arg.length);
x.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
x.onreadystatechange = function(){
x.readyState==4 && (x.status==0||x.status==200) && callBack(x.responseText);
}
x.send(arg);
};
많은 양의 수량을 갖고 있습니다.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











JavaScript 함수 비동기 프로그래밍: 복잡한 작업 처리를 위한 필수 기술 소개: 현대 프런트 엔드 개발에서 복잡한 작업 처리는 필수불가결한 부분이 되었습니다. JavaScript 기능 비동기 프로그래밍 기술은 이러한 복잡한 작업을 해결하는 열쇠입니다. 이 기사에서는 JavaScript 함수 비동기 프로그래밍의 기본 개념과 일반적인 실용적인 방법을 소개하고 독자가 이러한 기술을 더 잘 이해하고 사용할 수 있도록 구체적인 코드 예제를 제공합니다. 1. 비동기 프로그래밍의 기본 개념 전통적인 동기 프로그래밍에서 코드는 다음과 같습니다.

최신 웹 애플리케이션에서 웹 페이지 탐색 및 라우팅을 구현하는 것은 매우 중요한 부분입니다. JavaScript 기능을 사용하여 이 기능을 구현하면 웹 애플리케이션을 더욱 유연하고 확장 가능하며 사용자 친화적으로 만들 수 있습니다. 이 기사에서는 JavaScript 기능을 사용하여 웹 페이지 탐색 및 라우팅을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 웹 페이지 탐색 구현 웹 애플리케이션에서 웹 페이지 탐색은 사용자가 가장 자주 조작하는 부분입니다. 사용자가 페이지를 클릭하면

자바스크립트 기능을 활용한 데이터 시각화의 실시간 업데이트 데이터 과학과 인공지능의 발달로 데이터 시각화는 중요한 데이터 분석 및 표시 도구가 되었습니다. 데이터를 시각화함으로써 데이터 간의 관계와 추세를 보다 직관적으로 이해할 수 있습니다. 웹 개발에서 JavaScript는 강력한 데이터 처리 및 동적 상호 작용 기능을 갖춘 일반적으로 사용되는 스크립팅 언어입니다. 이 기사에서는 JavaScript 기능을 사용하여 데이터 시각화의 실시간 업데이트를 달성하는 방법을 소개하고 구체적인 내용을 보여줍니다.

JavaScript는 웹 페이지에 대화형 효과를 추가하는 데 사용할 수 있는 스크립팅 언어입니다. 그중 이미지 캐러셀과 슬라이드쇼 효과는 일반적인 웹 페이지 애니메이션 효과입니다. 이 기사에서는 JavaScript 기능을 사용하여 이 두 가지 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 그림 회전판 그림 회전판은 특정 방식으로 여러 장의 그림을 차례로 재생하는 효과입니다. 이미지 캐러셀을 구현할 때 JavaScript 타이머와 CSS 스타일 컨트롤을 사용해야 합니다. (1) 준비작업 먼저 HTML 파일에서

JavaScript 기능을 사용하여 사용자 로그인 및 권한 확인 구현 인터넷의 발달과 함께 사용자 로그인 및 권한 확인은 많은 웹사이트와 애플리케이션에서 필수적인 기능이 되었습니다. 사용자의 데이터 보안과 접근 권한을 보호하기 위해 당사는 일부 기술과 방법을 사용하여 사용자의 신원을 확인하고 접근 권한을 제한해야 합니다. 널리 사용되는 스크립트 언어인 JavaScript는 프런트엔드 개발에서 중요한 역할을 합니다. JavaScript 기능을 사용하여 사용자 로그인 및 권한 확인 기능을 구현할 수 있습니다.

Go 언어 개발자에게는 올바른 클래스 라이브러리를 선택하는 것이 중요합니다. 우수한 클래스 라이브러리는 개발 효율성을 크게 향상시키고 바퀴를 재발명하는 것을 방지할 수 있습니다. Go 언어 세계에는 우리가 선택할 수 있는 훌륭한 클래스 라이브러리가 많이 있지만 "필수" 클래스 라이브러리도 있습니다. 오늘은 실제로 놓쳐서는 안 될 중요한 클래스 라이브러리를 소개하겠습니다. 프로젝트 및 특정 코드 예제가 참조용으로 제공됩니다. GorillaMux가 RESTful API를 구축하든 웹 애플리케이션을 구축하든 라우팅은 필수적인 부분입니다.

JavaScript 기능을 사용하여 사용자 상호 작용 및 동적 효과 달성 현대 웹 디자인의 발전으로 사용자 상호 작용 및 동적 효과가 사용자의 관심을 끄는 핵심이 되었습니다. 일반적으로 사용되는 스크립팅 언어인 JavaScript는 강력한 기능과 유연한 기능을 갖추고 있으며 다양한 사용자 상호 작용과 동적 효과를 얻을 수 있습니다. 이 문서에서는 몇 가지 일반적인 JavaScript 함수를 소개하고 특정 코드 예제를 제공합니다. 요소 스타일(style) 변경은 JavaScript 기능을 통해 쉽게 변경할 수 있습니다.

JavaScript 기능을 사용하여 파일 업로드 및 다운로드 구현 인터넷이 발전하고 대중화됨에 따라 파일 업로드 및 다운로드는 웹 애플리케이션의 일반적인 기능 중 하나가 되었습니다. 이 글에서는 JavaScript 함수를 사용하여 파일 업로드 및 다운로드 기능을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 파일 업로드 파일 업로드는 웹 페이지를 통해 로컬 파일을 서버에 업로드하는 것을 의미합니다. FileAPI는 파일 선택 및 업로드를 처리하기 위해 HTML5에서 제공됩니다. FileAPI에서 Fi를 활용할 수 있습니다.
