1. JavaScript / Говнокод #22102

    −45

    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
    17. 17
    function ToRgb ( color ) {
    	var I = document.createElement( "DIV" );
    	var R = null;
    	I.style.backgroundColor = color;
    	document.documentElement.appendChild( I );
    	R = window.getComputedStyle ? getComputedStyle( I ).backgroundColor : ToRgb.ifFuckingIE( I );
    	document.documentElement.removeChild( I );
    	return R;
    }
    
    ToRgb.ifFuckingIE = function ( damn ) {
    	damn = damn.currentStyle.backgroundColor.match( /(\w{2})/g );
    	for ( var i = 0; i < 3; i++ ) {
    		damn[i] = parseInt( damn[i], 16 );
    	}
    	return "rgb(" + damn[0] + ", " + damn[1] + ", " + damn[2] + ")";
    };

    переводим цвет в формат rgb()
    у человека явно личные счёты с ИЕ :)

    Запостил: DiphenylOxalate, 01 Февраля 2017

    Комментарии (4) RSS

    • за то без jquery
      Ответить
    • увы, строковые константы в ie не заработают
      Ответить
      • Нихуя себе!
        А IE хотябы умеет в JavaScript?
        Ответить
        • судя по коду, автор ожидает, что /(\w{2})/g всегда найдёт как минимум 6 символов в строке, т е строки вида "red" по идее должны бросать эксепшен при попытке сделать damn[i].

          хотя currentStyle.backgroundColor может автоматицки конвертировать в хексы
          Ответить

    Добавить комментарий