ホームページ > ウェブフロントエンド > jsチュートリアル > CCPry JS クラス ライブラリ code_js オブジェクト指向

CCPry JS クラス ライブラリ code_js オブジェクト指向

WBOY
リリース: 2016-05-16 18:42:48
オリジナル
1106 人が閲覧しました
コードをコピー コードは次のとおりです:

function CCPry(){
//
// ブラウザの種類を決定します
//
this.Browser ={
"isMozilla":(typeof document.implementation != '未定義') && (document.implementation.createDocument のタイプ != '未定義') && (HTMLDocument のタイプ!='未定義'),
"isIE":window.ActiveXObject true : false,
" isFirefox":navigator.userAgent.toLowerCase().indexOf("firefox")!=-1,
"isOpera":navigator.userAgent.toLowerCase().indexOf("opera")!=-1
};

//
//要素 ID に基づいて DOM オブジェクトを返します
//
this.$Id=function(id){
return document.getElementById(id) ;
};
//
//要素 ID に基づいて DOM オブジェクトを返します
//
this.Id=function(id){
var DomObjId=this. $Id(id );
if(!DomObjId){ throw new Error("No Object!");}
//オブジェクトの innerHTML 属性を返すか設定します
this.Html=function( html){
if(!this.IsUnknown(DomObjId.innerHTML))
{
if(!this.IsNull(html)){
DomObjId.innerHTML=html; 🎜>else{ return DomObjId .innerHTML };
}
else{ throw new Error("オブジェクトは innerHTML プロパティをサポートしていません!");}
};
};オブジェクトの innerText プロパティ
this.Text=function(text){
if(!this.IsUnknown(DomObjId.innerText))
{
if(!this.IsNull(text)) {
DomObjId.innerText= text;
}
else{ return DomObjId.innerText };
}
else{ throw new Error("オブジェクトは innerText プロパティをサポートしていません!"); };
};
// オブジェクトの value 属性を返すか設定します
this.Val=function(val){
if(!this.IsUnknown(DomObjId.value))
{
if(!this.IsNull(val)){
DomObjId.value=val;
}
else{ return DomObjId.value };
else{ throw new Error("オブジェクトはプロパティ値をサポートしていません!");};
}
return this;

//
//に従って DOM オブジェクトを返します。要素に Name
//
this .$Name=function(name){
return document.getElementsByName(name)

//
/ /文字列が空か null かを判定します
/ /
this.IsNullOrEmpty=function( str ) {
if(str==null){
return
}
else{
if(str.length<=0 ){
return true;
}
}
return
};文字列が空かどうかを判断します
//
this.IsEmpty=function( str ) {
if(str.length<=0){
return true
}
return; false;
};
//
// 文字列が null かどうかを判断します
//
this.IsNull=function( str ) {
if(str==null) {
return true;
}
return
};
//
//関数であるかどうかを判断します
//
this.IsFunction= function( fn ) {
return typeof(fn)==" function";

//
//オブジェクトかどうかを判定します
//
this.IsObject=function( fn ) {
return typeof(fn) ==="object";
};
//
//文字列かどうかを判断します
/ /
this.IsString=function( fn ) {
return typeof(fn )=="string";

//
//数値型
//
this.IsNumber=function( fn ) {
return typeof(fn)=="数値"
}; /ブール型かどうかを判断します
//
this.IsBoolean=function( fn ) {
return typeof(fn)=="boolean"
}; //
//未定義かどうかを判断します
//
this.IsUnknown=function ( fn ) {
return typeof(fn)=="未定義"
}; >
//
//日付型かどうかを判断します
//
this .IsDate=function( fn ) {
return fn.constructor==Date; ;

//
//Ajax オブジェクトを返します
//
this.Ajax=function(s){

//XMLHttpRequest オブジェクトを構築します
GetXmlHttpRequest= function(){
var xmlHttpRequest;
if(window.XMLHttpRequest) { xmlHttpRequest = new XMLHttpRequest(); }
else if(window.ActiveXObject) {
try { xmlHttpRequest = new ActiveXObject(" Msxml2.XMLHTTP"); }
catch (e){ xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); }
}
if (!xmlHttpRequest) {
alert("作成に失敗しましたXMLHttpRequest object");
return null;
}
return xmlHttpRequest;
};

//デフォルトの Ajax 設定
ajaxSettings={
url: "/ ajax/ProcessAjax.ashx"、
メソッド: "POST"、
タイムアウト: 0、
mimeType: "application/x-www-form-urlencoded"、
async: true、
データ: null、
データ型: "html"、
文字セット: "utf-8"、
受け入れ: {
xml: "アプリケーション/xml、テキスト/xml"、
html: "text/html",
script: "text/javascript, application/javascript",
json: "application /json, text/javascript",
text: "text/plain",
_default: "*/*"
},
///
/// 関数の呼び出し
///
OnStart:function(){
//start
},
///
/ //リクエスト成功後のコールバック関数
///
/// < ;param name="msg">サーバーはデータを返します
OnSuccess:function(msg ){
//成功
},
///
/// オペレーション例外呼び出し関数
///

/// 例外情報
OnException:function(msg){
//例外
}、
///
/// 请求超時后调用関数数
///

OnTimeout:function(){
//タイムアウト
},
///
/// 请要求完了後调用関数
///

OnComplate:function(){
//コンプレート
}
};

if(this.IsObject(s)){

/*检测传入对象*/
ajaxSettings.url = (!this.IsUnknown(s.url) && this. IsString(s.url)) ? s.url : ajaxSettings.url;
ajaxSettings.method =(!this.IsUnknown(s.method) && this.IsString(s.method)) ? s.method : ajaxSettings.method;
ajaxSettings.timeout = (!this.IsUnknown(s.timeout) && this.IsNumber(s.timeout)) ? s.timeout : ajaxSettings.timeout;
ajaxSettings.mimeType= (!this.IsUnknown(s.mimeType) && this.IsString(s.mimeType)) ? s.mimeType : ajaxSettings.mimeType;
ajaxSettings.async = (!this.IsUnknown(s.async) && this.IsBoolean(s.async)) ? s.async : ajaxSettings.async;
ajaxSettings.data = (!this.IsUnknown(s.data) && this.IsString(s.data)) ? s.data : ajaxSettings.data;
ajaxSettings.datatype = (!this.IsUnknown(s.datatype) && this.IsString(s.datatype)) ? s.datatype: ajaxSettings.datatype;
ajaxSettings.charset =(!this.IsUnknown(s.charset) && this.IsString(s.charset)) ? s.charset: ajaxSettings.charset;
ajaxSettings.OnStart =(!this.IsUnknown(s.OnStart) && this.IsFunction(s.OnStart)) ? s.OnStart : ajaxSettings.OnStart;
ajaxSettings.OnSuccess =(!this.IsUnknown(s.OnSuccess) && this.IsFunction(s.OnSuccess)) ? s.OnSuccess : ajaxSettings.OnSuccess;
ajaxSettings.OnException=(!this.IsUnknown(s.OnException)&&this.IsFunction(s.OnException))?s.OnException:ajaxSettings.OnException;
ajaxSettings.OnTimeout = (!this.IsUnknown(s.OnTimeout) && this.IsFunction(s.OnTimeout)) ? s.OnTimeout : ajaxSettings.OnTimeout;
ajaxSettings.OnComplate=(!this.IsUnknown(s.OnComplate) && this.IsFunction(s.OnComplate)) ? s.OnComplate : ajaxSettings.OnComplate;

//赋值xmlhttp,传入XMLHttpRequest对オブジェクト
var xmlhttp=GetXmlHttpRequest();
var requestDone=false;
try
{
//POST または GET メソッドに基づいて判断xmlhttp.send() 必要なもの入力パラメータ
if (ajaxSettings.data && ajaxSettings.method.toUpperCase() == "GET" ) {
ajaxSettings.url = (ajaxSettings.url.match(/?/) ? "&" : "?") ajaxSettings.data;
ajaxSettings.data = null;
}
xmlhttp.open(ajaxSettings.method,ajaxSettings.url,ajaxSettings.async);
xmlhttp.setRequestHeader("Content-Type", ajaxSettings.mimeType);
xmlhttp.setRequestHeader("X-Requested-With", "XMLHttpRequest"); // XMLHttpRequest の要求を示す設定です。
xmlhttp.setRequestHeader("Accept",ajaxSettings.datatype && ajaxSettings.accepts[ ajaxSettings.datatype ] ?ajaxSettings.accepts[ ajaxSettings.datatype ] ", */*" :ajaxSettings.受け入れます。_デフォルト);
if(ajaxSettings.timeout>0){
var timer=setTimeout(function(){requestDone=true;xmlhttp.abort();},ajaxSettings.timeout);
}
var xmlreadystatechange=function ()
{
if(requestDone){ ajaxSettings.OnTimeout(); } //タイムアウト
else if(xmlhttp.readyState==4) //成功
{
if (タイマー) { clearTimeout(timer); timer = null;}
if (xmlhttp.status==200 || xmlhttp.status=="success")
{
switch(ajaxSettings.datatype.toLowerCase())
{
case "html":
ajaxSettings.OnSuccess(xmlhttp.responseText);
休憩;
ケース "xml":
ajaxSettings.OnSuccess(xmlhttp.responseXML);
休憩;
}
}
ajaxSettings.OnComplate(); //complate
if (ajaxSettings.async&&xmlhttp){ x​​mlhttp=null; }
}
else{ajaxSettings.OnStart();} //開始
}
xmlhttp.onreadystatechange=xmlreadystatechange;
xmlhttp.send(ajaxSettings.data);
if (!ajaxSettings.async){ xmlreadystatechange();xmlhttp=null; }
}
catch(e){
ajaxSettings.OnException(e.message); //例外
}
}
これを返します。
}
//
// 拆分JSON对オブジェクト并による特定のシンボル接続構成文字列
//
this.SplitJson=function(jsonObj,splitSign){

var jsonStr='',signLastIndex;
for (jo in jsonObj)
{
jsonStr = (jo "=" jsonObj[jo] splitSign) ;
}
signLastIndex=jsonStr.lastIndexOf(splitSign);
if(signLastIndex!=-1){
jsonStr=jsonStr.substring(0,signLastIndex);
}
return jsonStr;
}
//
// JS图片缩略
//
this.DrawImage=function(ImgD,iwidth,iheight){
var flag=false;
var image=new Image();
image.src=ImgD.src;
if(image.width>0 && image.height>0)
{
flag=true;
if(image.width/image.height>= iwidth/iheight)
{
if(image.width>iwidth)
{
ImgD.width=iwidth;
ImgD.height=(image.height*iwidth)/image.width;
}
else
{
ImgD.width=image.width;
ImgD.height=画像.高さ;
}
}
else
{
if(image.height>iheight)
{
ImgD.height=iheight;
ImgD.width=(image.width*iheight)/image.height;
}
else
{
ImgD.width=image.width;
ImgD.height=画像.高さ;
}
}
}
}
//
// 文字列をインターセプトし、中国語処理を含めます
//
this.SubString=function(str, len, hasDot){
var newLength = 0;
var newStr = "";
var singleChar = ""; replace (chineseRegex,"**").length;
for(var i = 0;i < strLength;i )
{
singleChar = str.charAt(i).toString(); 🎜 >if(singleChar.match(chineseRegex) != null)
{
newLength = 2;
}
else
{
newLength ;
if ( newLength > len)
{
break;
}
newStr = singleChar;
}
if(hasDot && strLength > len)
{
newStr = "";
}
return newStr;
}
//
// すべて置換
//
this.ReplaceAll=function(Str,oldString,newString) {
return Str.replace(new RegExp(oldString,"gm"),newString);
},
//
// URL パラメータを取得し、無効な場合は未定義を返します
/ /
this.RequestQueryString=function(url){
var qIndex=url.indexOf('?');
var queryObj={}; 🎜>var queryStr=url.substring(qIndex 1,url.length);
if(queryStr.indexOf('&')!=-1){
var arrQuery = new Array(); arrQuery=queryStr .split('&');
for(arrStr in arrQuery){
paramKey=arrQuery[arrStr].substring(0,arrQuery[arrStr].indexOf("=")).toLowerCase( );
paramValue=arrQuery[arrStr].substring(arrQuery[arrStr].indexOf("=) 1,arrQuery[arrStr].length);
queryObj[paramKey]=paramValue
}
}
else{
paramKey=queryStr.substring(0,queryStr.indexOf("=")).toLowerCase();
paramValue=queryStr.substring(queryStr.indexOf("=") 1 ,queryStr.length);
queryObj[paramKey]=paramValue;
}
}
window.$CC=new CCPry() ;


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート