📄 platform_tray.compressed.js
字号:
box = el.getBoundingClientRect();
scrollPos = Sina.dom.getScrollPos(el.ownerDocument);
return [box.left + scrollPos[1], box.top + scrollPos[0]];
}
finally {
parentNode = pos = box = doc = scrollPos = null;
}
};
}
else {
getXY = function (el) {
var parentNode, pos, box, doc, scrollPos;
try {
if ((el.parentNode == null || el.offsetParent == null || Sina.dom.getStyle(el, "display") == "none") && el != document.body) {
return false;
}
parentNode = null;
pos = [];
doc = el.ownerDocument;
pos = [el.offsetLeft, el.offsetTop];
parentNode = el.offsetParent;
var hasAbs = Sina.dom.getStyle(el, "position") == "absolute";
if (parentNode != el) {
while (parentNode) {
pos[0] += parentNode.offsetLeft;
pos[1] += parentNode.offsetTop;
if (Sina.base.safari && !hasAbs && Sina.dom.getStyle(parentNode,"position") == "absolute" ) {
hasAbs = true;
}
parentNode = parentNode.offsetParent;
}
}
if (Sina.base.safari && hasAbs) {
pos[0] -= el.ownerDocument.body.offsetLeft;
pos[1] -= el.ownerDocument.body.offsetTop;
}
parentNode = el.parentNode;
while (parentNode.tagName && !/^body|html$/i.test(parentNode.tagName)) {
if (Sina.dom.getStyle(parentNode, "display").search(/^inline|table-row.*$/i)) {
pos[0] -= parentNode.scrollLeft;
pos[1] -= parentNode.scrollTop;
}
parentNode = parentNode.parentNode;
}
return pos;
}
finally {
parentNode = pos = box = doc = scrollPos = null;
}
};
}
regist("$getXY", "Sina.dom.getXY", getXY, "FlashSoft", "\u83b7\u53d6\u8282\u70b9\u5bf9\u8c61\u7684\u8ddd\u6587\u6863\u7684XY\u503c");
})();
/**
* \u7ed9\u6307\u5b9a\u5bf9\u8c61\u589e\u52a0HTML[\u4e0d\u4f1a\u7834\u574f\u8fd9\u4e2a\u5bf9\u8c61\u56fa\u6709\u8282\u70b9\u7684\u4e8b\u4ef6]
* @method Sina.dom.addHTML
* @param {HTMLElement | Document} oParentNode \u8282\u70b9\u5bf9\u8c61
* @param {String} sHTML \u4ee3\u7801\u5b57\u7b26\u4e32
* @return {Void}
* @author FlashSoft | fangchao@staff.sina.com.cn
* @update 07.12.26
* @example
* Sina.base.addHTML(document.body, "<input/>");
*/
(function () {
var addHTML;
if(Sina.base.ie) {
addHTML = function (oParentNode, sHTML, where) {
//where = where.toLowerCase() || "beforeend";
oParentNode = Sina.base.get(oParentNode);
switch(where){
case "beforebegin":
oParentNode.insertAdjacentHTML('BeforeBegin', sHTML);
break;
case "afterbegin":
oParentNode.insertAdjacentHTML('AfterBegin', sHTML);
break;
case "afterend":
oParentNode.insertAdjacentHTML('AfterEnd', sHTML);
break;
case "beforeend":
default:
oParentNode.insertAdjacentHTML('BeforeEnd', sHTML);
break;
}
};
}
else {
addHTML = function (oParentNode, sHTML, where) {
//where = where.toLowerCase() || "beforeend";
oParentNode = Sina.base.get(oParentNode);
var oFrag;
var oRange = oParentNode.ownerDocument.createRange();
try{
switch(where){
case "beforebegin":
oRange.setStartBefore(oParentNode);
oFrag = oRange.createContextualFragment(sHTML);
oParentNode.parentNode.insertBefore(oFrag, oParentNode);
break;
case "afterbegin":
if(oParentNode.firstChild){
oRange.setStartBefore(oParentNode.firstChild);
oFrag = oRange.createContextualFragment(sHTML);
oParentNode.insertBefore(oFrag, oParentNode.firstChild);
}else{
oParentNode.innerHTML = sHTML;
}
break;
case "afterend":
oRange.setStartAfter(oParentNode);
oFrag = oRange.createContextualFragment(sHTML);
oParentNode.parentNode.insertBefore(oFrag, oParentNode.nextSibling);
break;
case "beforeend":
default:
if(oParentNode.lastChild){
oRange.setStartAfter(oParentNode.lastChild);
oFrag = oRange.createContextualFragment(sHTML);
oParentNode.appendChild(oFrag);
}else{
oParentNode.innerHTML = html;
}
break;
}
}
finally{
oRange = oFrag = null;
}
};
}
regist("$addHTML", "Sina.dom.addHTML", addHTML, "FlashSoft", "\u7ed9\u6307\u5b9a\u5bf9\u8c61\u589e\u52a0HTML[\u4e0d\u4f1a\u7834\u574f\u8fd9\u4e2a\u5bf9\u8c61\u56fa\u6709\u8282\u70b9\u7684\u4e8b\u4ef6]");
})();
/**
* \u8bbe\u5b9a\u6307\u5b9a\u8282\u70b9\u7684\u6837\u5f0f
* @method Sina.dom.setStyle
* @param {HTMLElement | Document} el \u8282\u70b9\u5bf9\u8c61
* @param {String} property \u6837\u5f0f\u540d
* @param {String} val \u6837\u5f0f\u503c
* @author FlashSoft | fangchao@staff.sina.com.cn
* @update 08.02.23
* @example
* Sina.dom.setStyle(document.body, "backgroundColor", "red");
*/
(function () {
var setStyle;
if (Sina.base.ie) {
setStyle = function (el, property, val) {
switch (property) {
case "opacity":
el.style.filter = "alpha(opacity=" + (val * 100) + ")";
if (!el.currentStyle || !el.currentStyle.hasLayout) {
el.style.zoom = 1;
}
break;
case "float":
property = "styleFloat";
default:
el.style[property] = val;
}
};
}
else {
setStyle = function(el, property, val) {
if (property == "float") {
property = "cssFloat";
}
el.style[property] = val;
};
}
regist("$setStyle", "Sina.dom.setStyle", setStyle, "FlashSoft", "\u8bbe\u5b9a\u6307\u5b9a\u8282\u70b9\u7684\u6837\u5f0f");
})();
/**
* \u5224\u65ad\u9f20\u6807\u662f\u5426\u5728\u6307\u5b9a\u5bf9\u8c61\u4e0a
* @param {HTMLElement | Document} oElement \u8282\u70b9\u5bf9\u8c61
* @param {Event} oEvent event
* @return {Boolean} \u5982\u679c\u9f20\u6807\u5728\u5bf9\u8c61\u4e0a\u5219\u4e3ature,\u5426\u5219\u4e3afalse
* @author FlashSoft | fangchao@staff.sina.com.cn
* @update 08.09.21
*/
(function () {
var hitTest = function (oElement, oEvent) {
var _nodeXY = Sina.dom.getXY(oElement);
var _pos = {
left: _nodeXY[0],
top: _nodeXY[1],
right: _nodeXY[0] + oElement.offsetWidth,
bottom: _nodeXY[1] + oElement.offsetHeight
};
var _x = oEvent.clientX;
var _y = oEvent.clientY;
return (_x >= _pos.left && _x <= _pos.right) && (_y >= _pos.top && _y <= _pos.bottom)? false: true;
};
regist("$hitTest", "Sina.dom.hiTest", hitTest, "FlashSoft", "\u5224\u65ad\u9f20\u6807\u662f\u5426\u5728\u6307\u5b9a\u5bf9\u8c61\u4e0a");
})();
/**
* \u6839\u636etagname\u521b\u5efa\u6307\u5b9a\u7c7b\u578b\u7684\u8282\u70b9\u5143\u7d20
* @param {String} tagName \u5236\u5b9a\u7684\u8282\u70b9\u7c7b\u578b
* @return {Element} \u65b0\u5efa\u7684DOM\u8282\u70b9
* @author xs | zhenhua1@staff.sina.com.cn
* @example
* Sina.base.create("div");
*/
(function () {
var create = function (sID) {
return typeof sID == "string"? document.createElement(sID): null;
};
regist("$C", "Sina.dom.create", create, "xs", "\u6839\u636etagname\u521b\u5efa\u6307\u5b9a\u7c7b\u578b\u7684\u8282\u70b9\u5143\u7d20");
})();
/**
* \u5728\u6307\u5b9a\u8282\u70b9\u4e0a\u7ed1\u5b9a\u76f8\u5e94\u7684\u4e8b\u4ef6
* @method Sina.events.addEvent
* @param {String} oElement \u9700\u8981\u7ed1\u5b9a\u7684\u8282\u70b9ID
* @param {String} sType \u4e8b\u4ef6\u7684\u7c7b\u578b\u5982:click, mouseover
* @param {Function} fHandler \u4e8b\u4ef6\u53d1\u751f\u65f6\u76f8\u5e94\u7684\u51fd\u6570
* @update 08.07.29
* @author Stan | chaoliang@staff.sina.com.cn
* FlashSoft | fangchao@staff.sina.com.cn
* @example
* //\u9f20\u6807\u70b9\u51fbtestEle\u5219alert "clicked"
* Sina.events.addEvent("testEle", "click", function () {
* alert("clicked");
* });
*/
(function () {
var addEvent;
if(Sina.base.ie) {
addEvent = function (oElement, sType, fHandler) {
oElement = Sina.base.get(oElement);
oElement.attachEvent("on" + sType, fHandler);
};
}
else {
addEvent = function (oElement, sType, fHandler, bUseCapture) {
oElement = Sina.base.get(oElement);
if(bUseCapture == "undefined") {
bUseCapture = false;
}
oElement.addEventListener(sType, fHandler, bUseCapture);
};
}
regist("$addEvent", "Sina.events.addEvent", addEvent, "FlashSoft", "\u5728\u6307\u5b9a\u8282\u70b9\u4e0a\u7ed1\u5b9a\u76f8\u5e94\u7684\u4e8b\u4ef6");
})();
/**
* \u83b7\u53d6Event\u5bf9\u8c61
* @method Sina.base.getEvent
* @return {Event} Event\u5bf9\u8c61
* @author FlashSoft | fangchao@staff.sina.com.cn
* @update 08.07.29
* @example
* Sina.events.getEvent();
*/
(function () {
var getEvent;
if(Sina.base.ie) {
getEvent = function () {
return window.event;
};
}
else {
getEvent = function () {
var o, e, n;
try {
o = arguments.callee.caller;
n = 0;
while(o != null && n < 40){
e = o.arguments[0];
if (e && (e.constructor == Event || e.constructor == MouseEvent)) {
return e;
}
n ++;
o = o.caller;
}
return e;
}
finally {
o = e = n = null;
}
};
}
regist("$getEvent", "Sina.events.getEvent", getEvent, "FlashSoft", "\u83b7\u53d6Event\u5bf9\u8c61");
})();
/**
* \u7981\u6b62Event\u4e8b\u4ef6\u5192\u6ce1
* @method Sina.base.stopEvent
* @author FlashSoft | fangchao@staff.sina.com.cn
* @update 08.07.29
* @example
* Sina.events.stopEvent();
*/
(function () {
var stopEvent;
if(Sina.base.ie) {
stopEvent = function () {
var ev;
try {
ev = Sina.events.getEvent();
ev.cancelBubble = true;
ev.returnValue = false;
}
finally {
ev = null;
}
};
}
else {
stopEvent = function () {
var ev;
try {
ev = Sina.events.getEvent();
ev.preventDefault();
ev.stopPropagation();
}
finally {
ev = null;
}
};
}
regist("$stopEvent", "Sina.dom.stopEvent", stopEvent, "FlashSoft", "\u7981\u6b62Event\u4e8b\u4ef6\u5192\u6ce1");
})();
/**
* \u83b7\u53d6\u4e8b\u4ef6\u6e90\u5bf9\u8c61 (IE\u4e0b\u4e3a event.srcElement , FF\u4e0b\u4e3a eventObj.target)
* @method Sina.events.getTarget
* @param {Object} Event\u5bf9\u8c61
* @author xs | zhenhua1@staff.sina.com.cn
* @update 08.08.03
* @example
* //\u5728\u4e8b\u4ef6\u6267\u884c\u51fd\u6570\u5185\u83b7\u53d6\u4e8b\u4ef6\u6e90\u5bf9\u8c61
* Sina.events.getTarget(Sina.events.getEvent());
*/
(function () {
var getTarget;
if(Sina.base.ie) {
getTarget = function (oEvnet) {
return (oEvnet||window.event).srcElement;
};
}
else {
getTarget = function (oEvnet) {
var node = oEvnet.target;
while(node.nodeType != 1){
node = node.parentNode;
}
return node;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -