1. Список говнокодов пользователя nwton

    Всего: 2

  2. JavaScript / Говнокод #22536

    −56

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    dom.reClass('anim-shit-code-shining');
    
    Object.prototype.reClass = function(cls){
    	this.classList.remove(cls);
    	void this.offsetWidth;
    	this.classList.add(cls);
    }

    Изобрел джиниальный способ перезапустить анимацию класса. Работает, че.

    nwton, 10 Марта 2017

    Комментарии (31)
  3. JavaScript / Говнокод #22533

    −47

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    dom.listener('animationend', function(){
    	alert('ЗАЕБОК');
    });
    
    Object.prototype.listener = function(type, callback){
    	let token = 'listener' + rand(1000, 9999);
    	this.setClass(true, token);
    	this.addEventListener(type, done);
    
    	function done(event){
    		if(event.path[0].className.indexOf(token) == -1)return;
    		this.setClass(false, token);
    		this.removeEventListener(type, done);
    		isCallback(callback);
    	}
    };

    Надо было по окончанию анимации запустить функцию. Обычный listener также слушал дочерние элементы, а не только тот, на который я его повесил, в результате, все шло по писте.

    А вот мой glistener вешает на нужный X элемент класс вида 'listener49512', и вызывает callback, если событие произошло именно у X элемента с этим классом, а не где-то еще.

    p.s. setclass, iscallback - мои говнотулы, потому что jq и прочее дерьмо для слабаков!

    nwton, 10 Марта 2017

    Комментарии (5)