//要素の実際の最終的な CSS スタイル属性値を取得する関数
function getStyle(elem,name){
if(elem.style[name]){
return elem.style[name] ;
}else if(elem.currentStyle){
return elem.currentStyle[name];
}else if(document.defaultView && document.defaultView.getComputedStyle){
name = name.replace (/([A-Z])/g,"-$1");
name = name.toLowerCase();
var s = document.defaultView.getComputedStyle(elem,""); >return s && s.getPropertyValue(name);
}else{
return null;
}
//全体に対する要素の X 位置と Y 位置を決定します。 document 補助位置
function pageX(elem){
return elem.offsetParent?
elem.offsetLeft pageX(elem.offsetParent):
elem.offsetLeft; function pageY(elem){
return elem.offsetParent?
elem.offsetTop pageY(elem.offsetParent):
elem.offsetTop;
}
// 要素の相対位置を決定します2 つの関数
functionparentX(elem){
return elem.parentNode == elem.offsetParent?
elem.offsetLeft:
pageX(elem)-pageX(elem.parentNode); 🎜> }
functionparentY(elem){
return elem.parentNode==elem.offsetParent?
elem.offsetTop:
pageY(elem)-pageY(elem.parentNode);
}
//CSS コンテナに対する相対的な要素の位置を決定します
function posX(elem){
return parseInt(getStyle(elem,"left")); 🎜>function posY(elem){
return parseInt(getStyle(elem, "top"));
}
//要素の x および y 位置を設定する関数 (現在の位置とは独立) )
function setX(elem,pos){
elem.style.left = pos "px";
}
function setY(elem,pos){
elem.style.top = pos "px";
}
// 現在の位置に対する要素の距離を調整する関数
function addX(elem,pos){
setX(posX(elem) pos);
}
function addY( elem,pos){
setY(posY(elem) pos)
}
//要素の現在の高さと幅を取得します
function getHeight(elem){
return parseInt (getStyle(elem,'height'));
function getWidth(elem){
return parseInt(getStyle(elem,'width') );
}
//要素を非表示にし、その潜在的な全高と幅をそれぞれ取得する 2 つの関数です。
function fullHeight(elem){
if(getStyle(elem,'display') !='none'){
return elem.offsetHeight||getHeight(elem);
}
var old =resetCSS(elem,{
display:'',
visibility:' hidden',
position:' 絶対'
});
var h = elem.clientHeight||getHeight(elem);
restoreCSS(elem,old); 🎜>}
function fullWidth(elem){
if(getStyle(elem,'display')!='none'){
return elem.offsetWidth || getWidth(elem); 🎜>}
var old =resetCSS(elem,{
display:'',
visibility:'hidden',
position:'absolute'
}); = elem.clientWidth || getWidth(elem );
restoreCSS(elem,old);
function restartCSS(elem,prop){
var old = []; for( var i in prop){
old[i] = elem.style[i];
elem.style[i] = prop[i]; 🎜>古いものを返す;
}
関数リストアCSS(elem,prop){
for(var i in prop){
elem.style[i] = prop[i];
}
// CSS の表示プロパティを使用して要素の表示/非表示を切り替える一連の関数
function Hide(elem){
var curDisplay = getStyle(elem,'display');
if(curDisplay != 'none') {
elem.$oldDisplay= curDisplay;
}
elem.style.display = 'none'; elem){
elem.style.display = elem.$oldDisplay ||'';
}
//要素の透明度を設定します
function setOpacity(elem,level){
if(elem.filters){
elem .style.filters = 'alpha(opacity=' level ')';
}else{
elem.style.opacity = level/100; 🎜>}
}