javascriptライブラリを作ろう!

4月 7, 2007 · Posted in javascript 

がんばってみよう!

Java Script
var $Obj = new Object();
$Obj = {
//////オブジェクト取得///////////////
get:function(prm){
if(document.getElementById && !document.all || document.layers){
obj = document.getElementById(prm);
}else if(document.all){
obj = document.all(prm);
}
//if(!obj) alert("$Obj.get ID="+ prm +" が見つかりません");
return obj;
},
///////レイヤー半透明//////////////
alpha:function(objName,alpha){
if(typeof(objName)=="object") var alp = objName;
else var alp = $Obj.get (objName);
alp.style.Opacity = Number(alpha) / 100;
alp.style.filter = 'alpha(opacity=' + Number(alpha) + ')';
alp.style.MozOpacity = Number(alpha) / 100;
},
///////////指定したレイヤーの座標を取得///////////////
pos:function (eremID){
if(typeof(eremID)=="object") var offsetTrail = eremID;
else var offsetTrail = $Obj.get(eremID);
var offsetLeft = 0;
var offsetTop = 0;
while(offsetTrail){
offsetLeft += offsetTrail.offsetLeft;
offsetTop += offsetTrail.offsetTop;
offsetTrail = offsetTrail.offsetParent;
}
if(navigator.userAgent.indexOf("Mac") != -1 &&
typeof document.body.leftMargin != "undefined"){
offsetLeft += document.body.leftMargin;
offsetTop += document.body.topMargin;
}
return{ left:offsetLeft , top:offsetTop }
}
}
var $Brw = new Object();
$Brw = {
///////ブラウザサイズを取得する//////////////
size:function (){
var agent = navigator.userAgent;
var appna = navigator.appName;
var userOs = null;
var browser = null;
var version = null;
var ie55 = false;
if ( agent.indexOf('Win') != -1 ){
if ( appna == "Microsoft Internet Explorer" ){
version = agent.substring((agent.indexOf('MSIE')+5),(agent.indexOf('MSIE')+8));
if(Number(version)<=5.5){
ie55 = true;
}
}
}
if (document.all) {
if(window.opera || ie55){
brsHeight = document.body.clientHeight;
brsWidth = document.body.clientWidth;
}else{
brsHeight = document.documentElement.clientHeight;
brsWidth = document.documentElement.clientWidth;
}
}else if (document.getElementById && !document.all || document.layers) {
brsHeight = window.innerHeight;
brsWidth = window.innerWidth;
}
return { height:brsHeight , width:brsWidth };
}
}
var $Date = new Object();
$Date = {
////////日付取得する/////////
get:function(){
var stoday = new Date();
var syear = stoday.getYear();
if( syear < 1000) syear = syear + 1900;
var smonth = stoday.getMonth()+1;

return {
year: syear ,
month:smonth ,
date:stoday.getDate() ,
hours:stoday.getHours(),
minutes:stoday.getMinutes(),
seconds:stoday.getSeconds()
}
}
}
var $Evt = new Object();
$Evt = {
addLtn:function(elm, type, func, useCapture){
if(!elm){ return false;}
if(!useCapture){
useCapture = false;
}
if(elm.addEventListener){
elm.addEventListener(type, func, false);
}else if(elm.attachEvent){
elm.attachEvent('on'+type, func);
}else{
return false;
}
return true;
},
remLtn:function(elm, type, func, useCapture){
if(!elm){ return false;}
if(!useCapture){
useCapture = false;
}
if(elm.removeEventListener){
elm.removeEventListener(type, func, false);
}else if(elm.detachEvent){
elm.detachEvent('on'+type, func);
}else{
return false;
}
return true;
}
}
var $Ajax = new Object();
$Ajax = {
req:function(url,act){

var createXMLHttpRequest = function(func){
var XMLhttpObject = null;

if(window.XMLHttpRequest){
XMLhttpObject = new XMLHttpRequest();
}else if(window.ActiveXObject){
try{
XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");
}catch(e){
return null;
}
}
}
if(XMLhttpObject) XMLhttpObject.onreadystatechange = func;

return XMLhttpObject;
}

var check = function(){
if((xmlhttp.readyState==4)&&(xmlhttp.status==200)){
act();
}else if(xmlhttp.readyState==4){
act();
}
}
xmlhttp = createXMLHttpRequest(check);
if(xmlhttp){
try{
xmlhttp.open("get",url, true);
xmlhttp.send(null);
}catch(e){
}
}
}

}

Comments

Comments are closed.