⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 prototype.js

📁 原名JSPackager
💻 JS
📖 第 1 页 / 共 4 页
字号:
Event.observe.apply(Event, arguments);return $A(arguments).first();}, stopObserving:function () {Event.stopObserving.apply(Event, arguments);return $A(arguments).first();}, cleanWhitespace:function (element) {element = $(element);var node = element.firstChild;while (node) {var nextNode = node.nextSibling;if (node.nodeType == 3 && !/\S/.test(node.nodeValue)) {element.removeChild(node);}node = nextNode;}return element;}, empty:function (element) {return $(element).innerHTML.match(/^\s*$/);}, descendantOf:function (element, ancestor) {element = $(element), ancestor = $(ancestor);while (element = element.parentNode) {if (element == ancestor) {return true;}}return false;}, scrollTo:function (element) {element = $(element);var pos = Position.cumulativeOffset(element);window.scrollTo(pos[0], pos[1]);return element;}, getStyle:function (element, style) {element = $(element);if (["float", "cssFloat"].include(style)) {style = (typeof element.style.styleFloat != "undefined" ? "styleFloat" : "cssFloat");}style = style.camelize();var value = element.style[style];if (!value) {if (document.defaultView && document.defaultView.getComputedStyle) {var css = document.defaultView.getComputedStyle(element, null);value = css ? css[style] : null;} else {if (element.currentStyle) {value = element.currentStyle[style];}}}if ((value == "auto") && ["width", "height"].include(style) && (element.getStyle("display") != "none")) {value = element["offset" + style.capitalize()] + "px";}if (window.opera && ["left", "top", "right", "bottom"].include(style)) {if (Element.getStyle(element, "position") == "static") {value = "auto";}}if (style == "opacity") {if (value) {return parseFloat(value);}if (value = (element.getStyle("filter") || "").match(/alpha\(opacity=(.*)\)/)) {if (value[1]) {return parseFloat(value[1]) / 100;}}return 1;}return value == "auto" ? null : value;}, setStyle:function (element, style) {element = $(element);for (var name in style) {var value = style[name];if (name == "opacity") {if (value == 1) {value = (/Gecko/.test(navigator.userAgent) && !/Konqueror|Safari|KHTML/.test(navigator.userAgent)) ? 0.999999 : 1;if (/MSIE/.test(navigator.userAgent) && !window.opera) {element.style.filter = element.getStyle("filter").replace(/alpha\([^\)]*\)/gi, "");}} else {if (value === "") {if (/MSIE/.test(navigator.userAgent) && !window.opera) {element.style.filter = element.getStyle("filter").replace(/alpha\([^\)]*\)/gi, "");}} else {if (value < 0.00001) {value = 0;}if (/MSIE/.test(navigator.userAgent) && !window.opera) {element.style.filter = element.getStyle("filter").replace(/alpha\([^\)]*\)/gi, "") + "alpha(opacity=" + value * 100 + ")";}}}} else {if (["float", "cssFloat"].include(name)) {name = (typeof element.style.styleFloat != "undefined") ? "styleFloat" : "cssFloat";}}element.style[name.camelize()] = value;}return element;}, getDimensions:function (element) {element = $(element);var display = $(element).getStyle("display");if (display != "none" && display != null) {return {width:element.offsetWidth, height:element.offsetHeight};}var els = element.style;var originalVisibility = els.visibility;var originalPosition = els.position;var originalDisplay = els.display;els.visibility = "hidden";els.position = "absolute";els.display = "block";var originalWidth = element.clientWidth;var originalHeight = element.clientHeight;els.display = originalDisplay;els.position = originalPosition;els.visibility = originalVisibility;return {width:originalWidth, height:originalHeight};}, makePositioned:function (element) {element = $(element);var pos = Element.getStyle(element, "position");if (pos == "static" || !pos) {element._madePositioned = true;element.style.position = "relative";if (window.opera) {element.style.top = 0;element.style.left = 0;}}return element;}, undoPositioned:function (element) {element = $(element);if (element._madePositioned) {element._madePositioned = undefined;element.style.position = element.style.top = element.style.left = element.style.bottom = element.style.right = "";}return element;}, makeClipping:function (element) {element = $(element);if (element._overflow) {return element;}element._overflow = element.style.overflow || "auto";if ((Element.getStyle(element, "overflow") || "visible") != "hidden") {element.style.overflow = "hidden";}return element;}, undoClipping:function (element) {element = $(element);if (!element._overflow) {return element;}element.style.overflow = element._overflow == "auto" ? "" : element._overflow;element._overflow = null;return element;}};Object.extend(Element.Methods, {childOf:Element.Methods.descendantOf});Element._attributeTranslations = {};Element._attributeTranslations.names = {colspan:"colSpan", rowspan:"rowSpan", valign:"vAlign", datetime:"dateTime", accesskey:"accessKey", tabindex:"tabIndex", enctype:"encType", maxlength:"maxLength", readonly:"readOnly", longdesc:"longDesc"};Element._attributeTranslations.values = {_getAttr:function (element, attribute) {return element.getAttribute(attribute, 2);}, _flag:function (element, attribute) {return $(element).hasAttribute(attribute) ? attribute : null;}, style:function (element) {return element.style.cssText.toLowerCase();}, title:function (element) {var node = element.getAttributeNode("title");return node.specified ? node.nodeValue : null;}};Object.extend(Element._attributeTranslations.values, {href:Element._attributeTranslations.values._getAttr, src:Element._attributeTranslations.values._getAttr, disabled:Element._attributeTranslations.values._flag, checked:Element._attributeTranslations.values._flag, readonly:Element._attributeTranslations.values._flag, multiple:Element._attributeTranslations.values._flag});Element.Methods.Simulated = {hasAttribute:function (element, attribute) {var t = Element._attributeTranslations;attribute = t.names[attribute] || attribute;return $(element).getAttributeNode(attribute).specified;}};if (document.all && !window.opera) {Element.Methods.update = function (element, html) {element = $(element);html = typeof html == "undefined" ? "" : html.toString();var tagName = element.tagName.toUpperCase();if (["THEAD", "TBODY", "TR", "TD"].include(tagName)) {var div = document.createElement("div");switch (tagName) {case "THEAD":case "TBODY":div.innerHTML = "<table><tbody>" + html.stripScripts() + "</tbody></table>";depth = 2;break;case "TR":div.innerHTML = "<table><tbody><tr>" + html.stripScripts() + "</tr></tbody></table>";depth = 3;break;case "TD":div.innerHTML = "<table><tbody><tr><td>" + html.stripScripts() + "</td></tr></tbody></table>";depth = 4;}$A(element.childNodes).each(function (node) {element.removeChild(node);});depth.times(function () {div = div.firstChild;});$A(div.childNodes).each(function (node) {element.appendChild(node);});} else {element.innerHTML = html.stripScripts();}setTimeout(function () {html.evalScripts();}, 10);return element;};}Object.extend(Element, Element.Methods);var _nativeExtensions = false;if (/Konqueror|Safari|KHTML/.test(navigator.userAgent)) {["", "Form", "Input", "TextArea", "Select"].each(function (tag) {var className = "HTML" + tag + "Element";if (window[className]) {return;}var klass = window[className] = {};klass.prototype = document.createElement(tag ? tag.toLowerCase() : "div").__proto__;});}Element.addMethods = function (methods) {Object.extend(Element.Methods, methods || {});function copy(methods, destination, onlyIfAbsent) {onlyIfAbsent = onlyIfAbsent || false;var cache = Element.extend.cache;for (var property in methods) {var value = methods[property];if (!onlyIfAbsent || !(property in destination)) {destination[property] = cache.findOrStore(value);}}}if (typeof HTMLElement != "undefined") {copy(Element.Methods, HTMLElement.prototype);copy(Element.Methods.Simulated, HTMLElement.prototype, true);copy(Form.Methods, HTMLFormElement.prototype);[HTMLInputElement, HTMLTextAreaElement, HTMLSelectElement].each(function (klass) {copy(Form.Element.Methods, klass.prototype);});_nativeExtensions = true;}};var Toggle = new Object();Toggle.display = Element.toggle;Abstract.Insertion = function (adjacency) {this.adjacency = adjacency;};Abstract.Insertion.prototype = {initialize:function (element, content) {this.element = $(element);this.content = content.stripScripts();if (this.adjacency && this.element.insertAdjacentHTML) {try {this.element.insertAdjacentHTML(this.adjacency, this.content);}catch (e) {var tagName = this.element.tagName.toUpperCase();if (["TBODY", "TR"].include(tagName)) {this.insertContent(this.contentFromAnonymousTable());} else {throw e;}}} else {this.range = this.element.ownerDocument.createRange();if (this.initializeRange) {this.initializeRange();}this.insertContent([this.range.createContextualFragment(this.content)]);}setTimeout(function () {content.evalScripts();}, 10);}, contentFromAnonymousTable:function () {var div = document.createElement("div");div.innerHTML = "<table><tbody>" + this.content + "</tbody></table>";return $A(div.childNodes[0].childNodes[0].childNodes);}};var Insertion = new Object();Insertion.Before = Class.create();Insertion.Before.prototype = Object.extend(new Abstract.Insertion("beforeBegin"), {initializeRange:function () {this.range.setStartBefore(this.element);}, insertContent:function (fragments) {fragments.each((function (fragment) {this.element.parentNode.insertBefore(fragment, this.element);}).bind(this));}});Insertion.Top = Class.create();Insertion.Top.prototype = Object.extend(new Abstract.Insertion("afterBegin"), {initializeRange:function () {this.range.selectNodeContents(this.element);this.range.collapse(true);}, insertContent:function (fragments) {fragments.reverse(false).each((function (fragment) {this.element.insertBefore(fragment, this.element.firstChild);}).bind(this));}});Insertion.Bottom = Class.create();Insertion.Bottom.prototype = Object.extend(new Abstract.Insertion("beforeEnd"), {initializeRange:function () {this.range.selectNodeContents(this.element);this.range.collapse(this.element);}, insertContent:function (fragments) {fragments.each((function (fragment) {this.element.appendChild(fragment);}).bind(this));}});Insertion.After = Class.create();Insertion.After.prototype = Object.extend(new Abstract.Insertion("afterEnd"), {initializeRange:function () {this.range.setStartAfter(this.element);}, insertContent:function (fragments) {fragments.each((function (fragment) {this.element.parentNode.insertBefore(fragment, this.element.nextSibling);}).bind(this));}});Element.ClassNames = Class.create();Element.ClassNames.prototype = {initialize:function (element) {this.element = $(element);}, _each:function (iterator) {this.element.className.split(/\s+/).select(function (name) {return name.length > 0;})._each(iterator);}, set:function (className) {this.element.className = className;}, add:function (classNameToAdd) {if (this.include(classNameToAdd)) {return;}this.set($A(this).concat(classNameToAdd).join(" "));}, remove:function (classNameToRemove) {if (!this.include(classNameToRemove)) {return;}this.set($A(this).without(classNameToRemove).join(" "));}, toString:function () {return $A(this).join(" ");}};Object.extend(Element.ClassNames.prototype, Enumerable);var Selector = Class.create();Selector.prototype = {initialize:function (expression) {this.params = {classNames:[]};this.expression = expression.toString().strip();this.parseExpression();this.compileMatcher();}, parseExpression:function () {function abort(message) {throw "Parse error in selector: " + message;}if (this.expression == "") {abort("empty expression");}var params = this.params, expr = this.expression, match, modifier, clause, rest;while (match = expr.match(/^(.*)\[([a-z0-9_:-]+?)(?:([~\|!]?=)(?:"([^"]*)"|([^\]\s]*)))?\]$/i)) {params.attributes = params.attributes || [];params.attributes.push({name:match[2], operator:match[3], value:match[4] || match[5] || ""});expr = match[1];}if (expr == "*") {return this.params.wildcard = true;}while (match = expr.match(/^([^a-z0-9_-])?([a-z0-9_-]+)(.*)/i)) {modifier = match[1], clause = match[2], rest = match[3];switch (modifier) {case "#":params.id = clause;break;case ".":params.classNames.push(clause);break;case "":case undefined:params.tagName = clause.toUpperCase();break;default:abort(expr.inspect());}expr = rest;}if (expr.length > 0) {abort(expr.inspect());}}, buildMatchExpression:function () {var params = this.params, conditions = [], clause;if (params.wildcard) {conditions.push("true");}if (clause = params.id) {conditions.push("element.readAttribute(\"id\") == " + clause.inspect());}if (clause = params.tagName) {conditions.push("element.tagName.toUpperCase() == " + clause.inspect());}if ((clause = params.classNames).length > 0) {for (var i = 0, length = clause.length; i < length; i++) {conditions.push("element.hasClassName(" + clause[i].inspect() + ")");}}if (clause = params.attributes) {clause.each(function (attribute) {var value = "element.readAttribute(" + attribute.name.inspect() + ")";var splitValueBy = function (delimiter) {return value + " && " + value + ".split(" + delimiter.inspect() + ")";};switch (attribute.operator) {case "=":conditions.push(value + " == " + attribute.value.inspect());break;case "~=":conditions.push(splitValueBy(" ") + ".include(" + attribute.value.inspect() + ")");break;case "|=":conditions.push(splitValueBy("-") + ".first().toUpperCase() == " + attribute.value.toUpperCase().inspect());break;case "!=":conditions.push(value + " != " + attribute.value.inspect());break;case "":case undefined:conditions.push("element.hasAttribute(" + attribute.name.inspect() + ")");break;default:throw "Unknown operator " + attribute.operator + " in selector";}});}return conditions.join(" && ");}, compileMatcher:function () {this.match = new Function("element", "if (!element.tagName) return false;       element = $(element);       return " + this.buildMatchExpression());}, findElements:function (scope) {var element;if (element = $(this.params.id)) {if (this.match(element)) {if (!scope || Element.childOf(element, scope)) {return [element];}}}scope = (scope || document).getElementsByTagName(this.params.tagName || "*");var results = [];for (var i = 0, length = scope.length; i < length; i++) {if (this.match(element = scope[i])) {results.push(Element.extend(element));}}return results;}, toString:function () {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -