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

    +158.8

    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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    function h_circle_1_view() {
    	document.getElementById("circle_1").style.display = "block";
    	document.getElementById("circle_2").style.display = "none";
    	document.getElementById("circle_3").style.display = "none";
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_1_none() {
    	document.getElementById("circle_1").style.display = "none";
    	}
    	
    	function h_circle_2_view() {
    	document.getElementById("circle_1").style.display = "none";
    	document.getElementById("circle_2").style.display = "block";
    	document.getElementById("circle_3").style.display = "none";
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_2_none() {
    	document.getElementById("circle_2").style.display = "none";
    	}
    	
    	function h_circle_3_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_3").style.display = "block";	// показываем 3
    	document.getElementById("circle_4").style.display = "none";
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_3_none() {
    	document.getElementById("circle_3").style.display = "none";
    	}
    	
    	function h_circle_4_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; 
    	document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_4").style.display = "block";	// показываем 3
    	document.getElementById("circle_5").style.display = "none";
    	}
    	function h_circle_4_none() {
    	document.getElementById("circle_4").style.display = "none";
    	}
    	
    	function h_circle_5_view() {
    	document.getElementById("circle_1").style.display = "none"; 
    	document.getElementById("circle_2").style.display = "none"; 
    	document.getElementById("circle_3").style.display = "none"; // прячем 1, 2
    	document.getElementById("circle_4").style.display = "none";	// показываем 3
    	document.getElementById("circle_5").style.display = "block";
    	}
    	function h_circle_5_none() {
    	document.getElementById("circle_5").style.display = "none";
    	}

    Натолкнулся вот при тестировании одного проекта

    Запостил: Abductio, 25 Августа 2009

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

    • проект "круглый дурак" или "круги дурака"? :)
      Ответить
    • Circle Of Copypaste
      Ответить
    • Это пять...
      Еще веселее то, что встречала аналоги (не столь маразматичные, канеш) не раз и не два:)
      Ответить
    • самое смешное, что тут элементарно рефакторится..
      Ответить
      • да ну?
        Ответить
        • ну если возможно былоб использовать Jquery .. то думаю уложился бы в несколько строк )
          Ответить
          • Этот скрипт был единственным на сайте, а потому использование jQuery нецелесообразно.
            Кстати выражение несколько строк говорит о том, что строк больше чем 1 ;) так что этот код тоже несколько строк :)
            Ответить
        • Ну да
          function set_v(n, v) {
              document.getElementById("circle_"+n).style.display = v ? 'block' : 'none';
          }
          
          function none(n) {
              set_v(n, false);
          }
          
          function view(n) {
              for (var i=1; i++; i < 6)
                  set_v(i, n == i);
          }
          Ответить
          • И если религия запрещает аргументы
            function c(f, x) { return function () { f(x); }; }
            var h_circle_5_view = c(view, 5);
            var h_circle_5_none = c(none, 5);
            var h_circle_4_view = c(view, 4);
            var h_circle_4_none = c(none, 4);
            var h_circle_3_view = c(view, 3);
            var h_circle_3_none = c(none, 3);
            var h_circle_2_view = c(view, 2);
            var h_circle_2_none = c(none, 2);
            var h_circle_1_view = c(view, 1);
            var h_circle_1_none = c(none, 1);
            Ответить

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