<div class="toggle">
<div class="content">123
</form>
</div>
<a class="toggler" href="#">Показать</a>
</div>
<script type="text/javascript">
// Набор функций
var base = {
// Поиск элементов по классу
findClass: function (str, node) {
if (document.getElementsByClassName) return (node || document).getElementsByClassName(str);
else {
var node = node || document, list = node.getElementsByTagName('*'), length = list.length,
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
for (i = 0; i < length; i++) {
key = true;
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
if (key) array.push(list[i]);
}
return array;
}
},
// Добавление обработчиков событий
bind: function (node, type, listener) {
if (node.addEventListener) node.addEventListener(type, listener, false);
//@cc_on node.attachEvent('on' + type, function() { listener.call(node); });
},
// Реализация DOMContentLoaded
init: [],
ready: function () {
if (!arguments.callee.done) {
arguments.callee.done = true;
if (this.timer) clearInterval(this.timer);
var i, length = this.init.length;
for (i = 0; i < length; i++) this.init[i]();
this.init = [];
}
},
check: function () {
var _this = this, listener = function () {
_this.ready();
};
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
if (/KHTML|WebKit/i.test(navigator.userAgent)) this.timer = setInterval(function () {
if (/loaded|complete/.test(document.readyState)) base.ready();
}, 10);
/*@cc_on document.write(unescape('%3CSCRIPT onreadystatechange="if(this.readyState==\'complete\') base.ready()" defer=defer src=\/\/:%3E%3C/SCRIPT%3E')); @*/
this.bind(window, 'load', listener);
}
};
// Функции для работы с панельками
var toggler = {
process: function () {
var i, list = base.findClass('toggler'), length = list.length;
for (i = 0; i < length; i++) base.bind(list[i], 'click', this.toggle);
list = base.findClass('content');
length = list.length;
for (i = 0; i < length; i++) list[i].style.display = 'none';
},
toggle: function () {
var content = base.findClass('content', this.parentNode)[0], e = arguments[0] || window.event;
if (content.style.display == 'block') {
content.style.display = 'none';
this.innerHTML = 'Показать';
}
else {
content.style.display = 'block';
this.innerHTML = 'Скрыть';
}
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
};
// Ищем блоки с классом «toggle» по событию DOMContentLoaded
base.init.push(function () {
toggler.process();
});
// Запускаем проверку готовности DOM
base.check();
</script>
</body>
</html>
ICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0b2dnbGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb250ZW50Ij4xMjMKICAgICAgICAgICAgICAgICAgICAgICAgPC9mb3JtPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgPGEgY2xhc3M9InRvZ2dsZXIiIGhyZWY9IiMiPtCf0L7QutCw0LfQsNGC0Yw8L2E+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KICAgIC8vINCd0LDQsdC+0YAg0YTRg9C90LrRhtC40LkKICAgIHZhciBiYXNlID0gewogICAgICAgIC8vINCf0L7QuNGB0Log0Y3Qu9C10LzQtdC90YLQvtCyINC/0L4g0LrQu9Cw0YHRgdGDCiAgICAgICAgZmluZENsYXNzOiBmdW5jdGlvbiAoc3RyLCBub2RlKSB7CiAgICAgICAgICAgIGlmIChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKSByZXR1cm4gKG5vZGUgfHwgZG9jdW1lbnQpLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoc3RyKTsKICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IG5vZGUgfHwgZG9jdW1lbnQsIGxpc3QgPSBub2RlLmdldEVsZW1lbnRzQnlUYWdOYW1lKCcqJyksIGxlbmd0aCA9IGxpc3QubGVuZ3RoLAogICAgICAgICAgICAgICAgICAgIENsYXNzID0gc3RyLnNwbGl0KC9ccysvKSwgY2xhc3NlcyA9IENsYXNzLmxlbmd0aCwgYXJyYXkgPSBbXSwgaSwgaiwga2V5OwogICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CiAgICAgICAgICAgICAgICAgICAga2V5ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBmb3IgKGogPSAwOyBqIDwgY2xhc3NlczsgaisrKSBpZiAobGlzdFtpXS5jbGFzc05hbWUuc2VhcmNoKCdcXGInICsgQ2xhc3Nbal0gKyAnXFxiJykgPT0gLTEpIGtleSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIGlmIChrZXkpIGFycmF5LnB1c2gobGlzdFtpXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgICAgICAgIH0KICAgICAgICB9LAogICAgICAgIC8vINCU0L7QsdCw0LLQu9C10L3QuNC1INC+0LHRgNCw0LHQvtGC0YfQuNC60L7QsiDRgdC+0LHRi9GC0LjQuQogICAgICAgIGJpbmQ6IGZ1bmN0aW9uIChub2RlLCB0eXBlLCBsaXN0ZW5lcikgewogICAgICAgICAgICBpZiAobm9kZS5hZGRFdmVudExpc3RlbmVyKSBub2RlLmFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIGZhbHNlKTsKICAgICAgICAgICAgLy9AY2Nfb24gbm9kZS5hdHRhY2hFdmVudCgnb24nICsgdHlwZSwgZnVuY3Rpb24oKSB7IGxpc3RlbmVyLmNhbGwobm9kZSk7IH0pOwogICAgICAgIH0sCiAgICAgICAgLy8g0KDQtdCw0LvQuNC30LDRhtC40Y8gRE9NQ29udGVudExvYWRlZAogICAgICAgIGluaXQ6IFtdLAogICAgICAgIHJlYWR5OiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIGlmICghYXJndW1lbnRzLmNhbGxlZS5kb25lKSB7CiAgICAgICAgICAgICAgICBhcmd1bWVudHMuY2FsbGVlLmRvbmUgPSB0cnVlOwogICAgICAgICAgICAgICAgaWYgKHRoaXMudGltZXIpIGNsZWFySW50ZXJ2YWwodGhpcy50aW1lcik7CiAgICAgICAgICAgICAgICB2YXIgaSwgbGVuZ3RoID0gdGhpcy5pbml0Lmxlbmd0aDsKICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgdGhpcy5pbml0W2ldKCk7CiAgICAgICAgICAgICAgICB0aGlzLmluaXQgPSBbXTsKICAgICAgICAgICAgfQogICAgICAgIH0sCiAgICAgICAgY2hlY2s6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcywgbGlzdGVuZXIgPSBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgICAgICBfdGhpcy5yZWFkeSgpOwogICAgICAgICAgICB9OwogICAgICAgICAgICBpZiAoZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcikgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsIGxpc3RlbmVyLCBmYWxzZSk7CiAgICAgICAgICAgIGlmICgvS0hUTUx8V2ViS2l0L2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSkgdGhpcy50aW1lciA9IHNldEludGVydmFsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgICAgIGlmICgvbG9hZGVkfGNvbXBsZXRlLy50ZXN0KGRvY3VtZW50LnJlYWR5U3RhdGUpKSBiYXNlLnJlYWR5KCk7CiAgICAgICAgICAgIH0sIDEwKTsKICAgICAgICAgICAgLypAY2Nfb24gZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQ1NDUklQVCBvbnJlYWR5c3RhdGVjaGFuZ2U9ImlmKHRoaXMucmVhZHlTdGF0ZT09XCdjb21wbGV0ZVwnKSBiYXNlLnJlYWR5KCkiIGRlZmVyPWRlZmVyIHNyYz1cL1wvOiUzRSUzQy9TQ1JJUFQlM0UnKSk7IEAqLwogICAgICAgICAgICB0aGlzLmJpbmQod2luZG93LCAnbG9hZCcsIGxpc3RlbmVyKTsKICAgICAgICB9CiAgICB9OwoKICAgIC8vINCk0YPQvdC60YbQuNC4INC00LvRjyDRgNCw0LHQvtGC0Ysg0YEg0L/QsNC90LXQu9GM0LrQsNC80LgKICAgIHZhciB0b2dnbGVyID0gewogICAgICAgIHByb2Nlc3M6IGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgdmFyIGksIGxpc3QgPSBiYXNlLmZpbmRDbGFzcygndG9nZ2xlcicpLCBsZW5ndGggPSBsaXN0Lmxlbmd0aDsKICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSBiYXNlLmJpbmQobGlzdFtpXSwgJ2NsaWNrJywgdGhpcy50b2dnbGUpOwogICAgICAgICAgICBsaXN0ID0gYmFzZS5maW5kQ2xhc3MoJ2NvbnRlbnQnKTsKICAgICAgICAgICAgbGVuZ3RoID0gbGlzdC5sZW5ndGg7CiAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgbGlzdFtpXS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnOwogICAgICAgIH0sCiAgICAgICAgdG9nZ2xlOiBmdW5jdGlvbiAoKSB7CiAgICAgICAgICAgIHZhciBjb250ZW50ID0gYmFzZS5maW5kQ2xhc3MoJ2NvbnRlbnQnLCB0aGlzLnBhcmVudE5vZGUpWzBdLCBlID0gYXJndW1lbnRzWzBdIHx8IHdpbmRvdy5ldmVudDsKICAgICAgICAgICAgaWYgKGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9PSAnYmxvY2snKSB7CiAgICAgICAgICAgICAgICBjb250ZW50LnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7CiAgICAgICAgICAgICAgICB0aGlzLmlubmVySFRNTCA9ICfQn9C+0LrQsNC30LDRgtGMJzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgIGNvbnRlbnQuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CiAgICAgICAgICAgICAgICB0aGlzLmlubmVySFRNTCA9ICfQodC60YDRi9GC0YwnOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQgPyBlLnByZXZlbnREZWZhdWx0KCkgOiBlLnJldHVyblZhbHVlID0gZmFsc2U7CiAgICAgICAgfQogICAgfTsKCiAgICAvLyDQmNGJ0LXQvCDQsdC70L7QutC4INGBINC60LvQsNGB0YHQvtC8IMKrdG9nZ2xlwrsg0L/QviDRgdC+0LHRi9GC0LjRjiBET01Db250ZW50TG9hZGVkCiAgICBiYXNlLmluaXQucHVzaChmdW5jdGlvbiAoKSB7CiAgICAgICAgdG9nZ2xlci5wcm9jZXNzKCk7CiAgICB9KTsKCiAgICAvLyDQl9Cw0L/Rg9GB0LrQsNC10Lwg0L/RgNC+0LLQtdGA0LrRgyDQs9C+0YLQvtCy0L3QvtGB0YLQuCBET00KICAgIGJhc2UuY2hlY2soKTsKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPg==
Main.java:1: error: class, interface, or enum expected
<div class="toggle">
^
Main.java:1: error: <identifier> expected
<div class="toggle">
^
Main.java:1: error: illegal start of type
<div class="toggle">
^
Main.java:1: error: <identifier> expected
<div class="toggle">
^
Main.java:1: error: ';' expected
<div class="toggle">
^
Main.java:2: error: <identifier> expected
<div class="content">123
^
Main.java:2: error: illegal start of type
<div class="content">123
^
Main.java:2: error: <identifier> expected
<div class="content">123
^
Main.java:2: error: ';' expected
<div class="content">123
^
Main.java:2: error: illegal start of type
<div class="content">123
^
Main.java:2: error: <identifier> expected
<div class="content">123
^
Main.java:3: error: ';' expected
</form>
^
Main.java:3: error: <identifier> expected
</form>
^
Main.java:4: error: <identifier> expected
</div>
^
Main.java:4: error: <identifier> expected
</div>
^
Main.java:5: error: > expected
<a class="toggler" href="#">????????</a>
^
Main.java:5: error: illegal start of type
<a class="toggler" href="#">????????</a>
^
Main.java:5: error: <identifier> expected
<a class="toggler" href="#">????????</a>
^
Main.java:5: error: '(' expected
<a class="toggler" href="#">????????</a>
^
Main.java:5: error: <identifier> expected
<a class="toggler" href="#">????????</a>
^
Main.java:5: error: illegal start of expression
<a class="toggler" href="#">????????</a>
^
Main.java:6: error: illegal start of type
</div>
^
Main.java:6: error: illegal start of expression
</div>
^
Main.java:7: error: > expected
<script type="text/javascript">
^
Main.java:9: error: ';' expected
var base = {
^
Main.java:9: error: <identifier> expected
var base = {
^
Main.java:11: error: '}' expected
findClass: function (str, node) {
^
Main.java:11: error: invalid method declaration; return type required
findClass: function (str, node) {
^
Main.java:11: error: <identifier> expected
findClass: function (str, node) {
^
Main.java:11: error: <identifier> expected
findClass: function (str, node) {
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal character: '\'
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: ';' expected
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: illegal start of expression
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: ';' expected
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: not a statement
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: ';' expected
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: not a statement
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: ';' expected
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:15: error: not a statement
Class = str.split(/\s+/), classes = Class.length, array = [], i, j, key;
^
Main.java:18: error: unclosed character literal
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: ')' expected
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: unclosed character literal
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: unclosed character literal
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: not a statement
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: unclosed character literal
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:18: error: not a statement
for (j = 0; j < classes; j++) if (list[i].className.search('\\b' + Class[j] + '\\b') == -1) key = false;
^
Main.java:23: error: illegal start of type
},
^
Main.java:23: error: ';' expected
},
^
Main.java:25: error: illegal start of type
bind: function (node, type, listener) {
^
Main.java:25: error: <identifier> expected
bind: function (node, type, listener) {
^
Main.java:25: error: <identifier> expected
bind: function (node, type, listener) {
^
Main.java:25: error: <identifier> expected
bind: function (node, type, listener) {
^
Main.java:28: error: illegal start of type
},
^
Main.java:28: error: ';' expected
},
^
Main.java:30: error: illegal start of type
init: [],
^
Main.java:30: error: <identifier> expected
init: [],
^
Main.java:30: error: ';' expected
init: [],
^
Main.java:30: error: illegal start of type
init: [],
^
Main.java:31: error: ';' expected
ready: function () {
^
Main.java:31: error: invalid method declaration; return type required
ready: function () {
^
Main.java:36: error: not a statement
for (i = 0; i < length; i++) this.init[i]();
^
Main.java:36: error: ';' expected
for (i = 0; i < length; i++) this.init[i]();
^
Main.java:37: error: illegal start of expression
this.init = [];
^
Main.java:37: error: illegal start of expression
this.init = [];
^
Main.java:39: error: illegal start of type
},
^
Main.java:39: error: ';' expected
},
^
Main.java:40: error: illegal start of type
check: function () {
^
Main.java:41: error: ';' expected
var _this = this, listener = function () {
^
Main.java:44: error: unclosed character literal
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
^
Main.java:44: error: ';' expected
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
^
Main.java:44: error: unclosed character literal
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
^
Main.java:44: error: <identifier> expected
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
^
Main.java:44: error: illegal start of expression
if (document.addEventListener) document.addEventListener('DOMContentLoaded', listener, false);
^
Main.java:45: error: illegal start of expression
if (/KHTML|WebKit/i.test(navigator.userAgent)) this.timer = setInterval(function () {
^
Main.java:45: error: ')' expected
if (/KHTML|WebKit/i.test(navigator.userAgent)) this.timer = setInterval(function () {
^
Main.java:46: error: illegal start of expression
if (/loaded|complete/.test(document.readyState)) base.ready();
^
Main.java:46: error: illegal start of expression
if (/loaded|complete/.test(document.readyState)) base.ready();
^
Main.java:46: error: ';' expected
if (/loaded|complete/.test(document.readyState)) base.ready();
^
Main.java:47: error: illegal start of type
}, 10);
^
Main.java:47: error: ';' expected
}, 10);
^
Main.java:47: error: illegal start of type
}, 10);
^
Main.java:47: error: <identifier> expected
}, 10);
^
Main.java:47: error: ';' expected
}, 10);
^
Main.java:49: error: illegal start of type
this.bind(window, 'load', listener);
^
Main.java:49: error: <identifier> expected
this.bind(window, 'load', listener);
^
Main.java:49: error: unclosed character literal
this.bind(window, 'load', listener);
^
Main.java:49: error: unclosed character literal
this.bind(window, 'load', listener);
^
Main.java:49: error: illegal start of type
this.bind(window, 'load', listener);
^
Main.java:49: error: ')' expected
this.bind(window, 'load', listener);
^
Main.java:49: error: ';' expected
this.bind(window, 'load', listener);
^
Main.java:54: error: class, interface, or enum expected
var toggler = {
^
Main.java:56: error: unclosed character literal
var i, list = base.findClass('toggler'), length = list.length;
^
Main.java:56: error: unclosed character literal
var i, list = base.findClass('toggler'), length = list.length;
^
Main.java:57: error: class, interface, or enum expected
for (i = 0; i < length; i++) base.bind(list[i], 'click', this.toggle);
^
Main.java:57: error: class, interface, or enum expected
for (i = 0; i < length; i++) base.bind(list[i], 'click', this.toggle);
^
100 errors