Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var domModule = (function () {
- var buffer = [];
- function appendChild(elementToAdd, selector) {
- var parentElement = document.querySelector(selector);
- var newElement = document.createElement(elementToAdd);
- parentElement.appendChild(newElement);
- }
- function removeChild(parentSelector, removeSelector) {
- var parentsList = document.querySelectorAll(parentSelector);
- for (var i = 0; i < parentsList.length; i++) {
- var elementToRemove = parentsList[i].querySelector(removeSelector);
- parentsList[i].removeChild(elementToRemove);
- }
- }
- function addHandler(elementSelector, eventType, callback) {
- var elements = document.querySelectorAll(elementSelector);
- for (var i = 0; i < elements.length; i++) {
- elements[i].addEventListener(eventType, callback,false);
- }
- }
- function bufferElement(parentElement, ellementToAdd) {
- this.parentElement = parentElement;
- this.ellementToAdd = ellementToAdd;
- }
- function appendBufferToDom() {
- for (var i = 0; i < buffer.length; i++) {
- buffer[i].parentElement.appendChild(buffer[i].ellementToAdd);
- }
- buffer = [];
- }
- function appendToBuffer(parentSelector, newElement) {
- var parentElement = document.querySelector(parentSelector);
- var elementToAdd = document.createElement(newElement);
- buffer.push(new bufferElement(parentElement, elementToAdd));
- if (buffer.length >= 100) {
- appendBufferToDom();
- }
- }
- return {
- appendChild: appendChild,
- removeChild: removeChild,
- addHandler: addHandler,
- appendToBuffer: appendToBuffer
- };
- })();
- (function () {
- var test = function test() {
- alert("You click!");
- }
- domModule.appendChild("div", "body");
- alert("Div is on screen!");
- domModule.removeChild("body", "div");
- alert("Div is removed!");
- domModule.addHandler("a", "click", test);
- for (var i = 0; i < 101; i++) {
- domModule.appendToBuffer("body", "div");
- }
- alert("100 divs added!");
- }());
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement