/*----------------------------------------------------------------------------/ | Description : wraps for browser-crossed and dtd compatibilities. | | Copyright(c) : Tencent Inc. | |-----------------------------------------------------------------------------| | Changes log | |-------------+---------------------------------------------------------------| | 2006/12/05 | Created by Moky (mokymo@tencent.com) | | 2006/12/05 | Tested by Moky in MSIE/6.0, MSIE/7.0, TT/3.1, Firefox/1.0.7, | | | Netscape/8.1.2 | | | OS: Microsoft Windows 2000 | |-------------+---------------------------------------------------------------| | 2006/12/30 | Modified by Moky (mokymo@tencent.com) | | 2006/12/30 | Tested by Moky in Safari/2.0.4, Firefox/1.5.0.8, Netscape/7.2,| | | Opera/9.02, MSIE/5.2 for Mac | | | OS: Mac OS X/10.4.8 | |-------------+---------------------------------------------------------------| | Created 2006/12/05 last updated 2006/12/30 | /----------------------------------------------------------------------------*/ /* // Usage : <mce:script language="javascript" src="http://mokymo-pc/js/lib/dtd.js" mce_src="http://mokymo-pc/js/lib/dtd.js"></mce:script> <img id="img1" style="position:absolute;" mce_style="position:absolute;" src="http://adsfile.qq.com/web/web_xgdd80x80.gif" mce_src="http://adsfile.qq.com/web/web_xgdd80x80.gif" /> <mce:script language="javascript"><!-- function keep() { var img = document.getElementById("img1"); if (!img) return ; var y = pageY() + (pageH() - img.height)/2 - 1; var x = pageX() + pageW() - img.width - 1; posY(img, y); posX(img, x); window.status = (posX(img)+" : "+posY(img)); } setInterval("keep();", 200); // --></mce:script> */ /*---------------------------------------------------------------------------*/ /* retrieves browser */ var __bs__ = navigator.userAgent.indexOf("MSIE") > 0 ? "MSIE" : navigator.userAgent.indexOf("Safari") > 0 ? "Safari" : "others"; /* retrieves doctype */ var __dt__ = (document.documentElement.clientHeight > 0) && (__bs__ == "MSIE" || document.body.clientHeight > document.documentElement.clientHeight) ? "W3C" : "undefined"; /* retrieves the distance between the top of the visible portion and the topmost of the document */ function pageY() { if (__bs__ == "MSIE") { if (__dt__ == "W3C") return document.documentElement.scrollTop; else return document.body.scrollTop; } else { return window.pageYOffset; } } /* retrieves the distance between the left of the visible portion and the leftmost of the document */ function pageX() { if (__bs__ == "MSIE") { if (__dt__ == "W3C") return document.documentElement.scrollLeft; else return document.body.scrollLeft; } else { return window.pageXOffset; } } /* retrieves the height of the visible portion of the document */ function pageH() { if (__bs__ == "Safari") return window.innerHeight; else if (__dt__ == "W3C") return document.documentElement.clientHeight; else return document.body.clientHeight; } /* retrieves the width of the visible portion of the document */ function pageW() { if (__bs__ == "Safari") return window.innerWidth; else if (__dt__ == "W3C") return document.documentElement.clientWidth; else return document.body.clientWidth; } /* sets or retrieves the left position of the object in the document */ function posY(o, v) { if (!o) return ; var t = o.style ? o.style : o; if (!isNaN(v)) { t.top = parseInt(v) + "px"; } else { return t.top ? t.top : o.offsetTop; } } /* sets or retrieves the top position of the object in the document */ function posX(o, v) { if (!o) return ; var t = o.style ? o.style : o; if (!isNaN(v)) { t.left = parseInt(v) + "px"; } else { return t.left ? t.left : o.offsetLeft; } }