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

    −1

    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
    <CustomTimePicker
                        ref={ref => {
                            if (!ref || this.moved || this.handled)
                                return;
    
                            this.handled = true;
    
                            ref.picker.addEventListener('click', () => {
                                if (this.moved)
                                    return;
    
                                setTimeout(() => {
                                    const panel = ref.panelInstance;
    
                                    if (!panel || !panel._reactInternalInstance)
                                        return;
    
                                    const node = panel._reactInternalInstance._renderedComponent._hostNode.parentNode.parentNode.parentNode;
    
                                    this.moved = true;
                                    this.refs.container.appendChild(node);
    
                                    ref.picker.click();
                                    ref.picker.click();
                                }, 0);
                            });
                        }}
                        showSecond={false}
                        value={this.props.value || moment()}
                        className="timepicker"
                        onChange={(e) => this.handleChange(e)}
                        format={this.format}
                        use12Hours
                    />

    Efog, 07 Июля 2017

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

    +1

    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
    <div class="checkbox removeSpan">
      <input id="all-standard-colors" name="all-standard-colors" type="checkbox"
                         data-bind="checked: $parent.selectAllStandardColors enable: $parent.isTabEnabled"/>
      <label for="all-standard-colors">All standard</label>
    </div>
    
    <style>
    div.checkbox > input + label {
        padding: 4px 0 4px 29px;
        background-image: url("../images/unchecked-checkbox.png");
        background-size: 21px;
        background-position: left center;
        background-repeat: no-repeat;
    }
    
    div.checkbox > input:checked + label {
        background-image: url("../images/checkbox-checked.png");
        background-size: 21px;
        background-position: left center;
        background-repeat: no-repeat;
    }
    </style>
    
    <script>
    $(document).ready(function() {
        setInterval(function(){
            $('.removeSpan span').remove();
        }, 2000);
    });
    </script>

    UI на knockout.js. Есть бага - пропадает галочка на чекбоксе. Выясняется что knockout для валидации вставляет после input тега невидимый span
    <span></span>
    Неизвестный товарищ фиксит это не вдаваясь в детали верстки и CSS селекторы - добавляет специальный класс, которым маркает все чекбоксы и поллер который убирает из них span каждые 2 секунды. Но про это никто не узнает. В течении полугода появляется еще десяток другой багов с отображением чекбоксов которые фиксят не вдаваясь в детали. И только потом замечают странный класс removeSpan и находят поллер в недрах domUtil.js, удаляют его и меняют один символ в стилях - вместо div.checkbox > input + label стало div.checkbox > input ~ label

    frenzykryger, 05 Июля 2017

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

    +1

    1. 1
    2. 2
    var x = '$$>1 ? eval(x.replace(/\\$\\$/g, $$-1)) + eval(x.replace(/\\$\\$/g, $$-2)) : 1';
    eval(x.replace(/\$\$/g, 5))

    Yo dawg, I heard you like evaluation. So I put evaluation in your evaluation so you could evaluate while you evaluate
    Фибоначчи, по мотивам http://govnokod.ru/20105#comment330201 хуйни

    j123123, 06 Июня 2017

    Комментарии (13)
  4. JavaScript / Говнокод #23101

    −1

    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
    $(document).ready(function() {
    	
    	$('.tab').click(function(){
    
    	    var tabs = $(this).closest('.tabs');
    
    	    // Удаляем классы active
    	    $(this).siblings().removeClass('active');
    	    tabs.children('.tabs-content').children('.tabs-content-item').removeClass('active');
    
    	    // Добавляем классы active
    	    $(this).addClass('active');
    	    tabs.children('.tabs-content').children('.tabs-content-item').eq($(this).index()).addClass('active');
    	})
    	
    });

    Вот пример:
    https://codepen.io/ShvedOFF/pen/weBgrQ

    Как более грамотно оформить данный код?
    Все отлично работает, но выглядит коряво.

    Shved, 05 Июня 2017

    Комментарии (2)
  5. JavaScript / Говнокод #23093

    +2

    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
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    /**
         * Установка условий проверки корректности дат на начальную дату
         * */
        setConditionOne(date1, date2) {
            if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] < date2[0]) )
                return false;
            else if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] >= date2[0]) )
                return true;
            else if ( (date1[2] == date2[2]) && (date1[1] > date2[1]) && (date1[0] == date2[0]) )
                return true;
            else if ( (date1[2] > date2[2]) && (date1[1] > date2[1]) )
                return true;
            else if (date1[2] > date2[2] && (date1[1] > date2[1]) && (date1[0] > date2[0]) )
                return true;
            else if ( (date1[2] < date2[2] ) && (date1[1] > date2[1]) && (date1[0] < date2[0]))
                return false;
            else if ( (date1[2] <= date2[2] ) && ( date1[1] > date2[1]) && (date1[0] <= date2[0]) )
                return true;
            else if ( (date1[2] > date2[2] ) && ( date1[1] >= date2[1]) && (date1[0] < date2[0]) )
                return false;
            else if ( (date1[0] > date2[0]) )
                return true;
            else if ( (date1[2] == date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
                return true;
            else if ( (date1[2] > date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
                return true;
            else if ( (date1[2] > date2[2] ) && ( date1[1] == date2[1]) && (date1[0] == date2[0]) )
                return true;
            else
                return false;
        }
    
       /**
         * Установка условий проверки корректности дат на конечную дату
         * */
        setConditionTwo(date1, date2) {
            if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] < date2[0]) )
                return false;
            else if ( (date1[2] > date2[2]) && (date1[1] >= date2[1]) && (date1[0] >= date2[0]) )
                return true;
            else if ( (date1[2] == date2[2]) && (date1[1] > date2[1]) && (date1[0] >= date2[0]) )
                return true;
            else if ( (date1[2] > date2[2]) && (date1[1] > date2[1]) )
                return true;
            else if ( date1[2] > date2[2] && (date1[1] > date2[1]) && (date1[0] > date2[0]) )
                return true;
            else if ( (date1[2] < date2[2] ) && (date1[1] > date2[1]) && (date1[0] < date2[0]) )
                return false;
            else if ( (date1[2] > date2[2] ) && ( date1[1] >= date2[1]) && (date1[0] < date2[0]) )
                return false;
            else if ( (date1[2] <= date2[2] ) && ( date1[1] > date2[1]) && (date1[0] <= date2[0]) )
                return true;
            else if ( (date1[0] > date2[0]) )
                return true;
            else if ( (date1[2] > date2[2] ) && ( date1[1] > date2[1]) && (date1[0] == date2[0]) )
                return true;
            else
                return false;
        }

    Сравнение двух дат.

    kliment1986, 01 Июня 2017

    Комментарии (0)
  6. JavaScript / Говнокод #23090

    −1

    1. 1
    2. 2
    3. 3
    if (typeof $el.html() !== "undefined") {
        //...
    }

    Проверка на существование элемента...

    vasya, 31 Мая 2017

    Комментарии (5)
  7. JavaScript / Говнокод #23087

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    // eval both the numbers to remove quotes
        // otherwise 4 + 5 will be "4" + "5" which in JS will equal 45
                evalDisplay = eval(displayNum),
                evalStored = eval(storedNum);

    Гениальный способ получить число из строки (вместо evalDisplay = +evalDisplay)

    DiphenylOxalate, 30 Мая 2017

    Комментарии (0)
  8. JavaScript / Говнокод #23062

    0

    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
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    // oldman and pilul
    $( "#draggable" ).draggable();
    $( "#draggable1" ).draggable();
    $( "#droppable" ).droppable({
      drop: function() {
        $("#droppable").attr("src","img/happy1.png");
        $("#droppable1").attr("src","img/happy1.png");
        $('#draggable').hide();
        $('#draggable1').hide();
      }
    });
    
    //buttons
    
    
    $('#weekbtn').click(function(){
    
      if ( $('#weekbtn').attr("src")== "img/week-pushed-button.png" ) {
    $("#weekbtn").attr("src","img/week-button.png");
    $("#weekbtn1").attr("src","img/week-button.png");
    } else {
    $("#weekbtn").attr("src","img/week-pushed-button.png");
    $("#weekbtn1").attr("src","img/week-pushed-button.png");
    }
    
    });
    
    
    $('#daybtn').click(function(){
    
      if ( $('#daybtn').attr("src")== "img/day-pushed-button.png" ) {
    $("#daybtn").attr("src","img/day-button.png");
    $("#daybtn1").attr("src","img/day-button.png");
    } else {
    $("#daybtn").attr("src","img/day-pushed-button.png");
    $("#daybtn1").attr("src","img/day-pushed-button.png");
    }
    
    });
    
    $('#mounthbtn').click(function(){
    
      if ( $('#mounthbtn').attr("src")== "img/mounth-pushed-button.png" ) {
    $("#mounthbtn").attr("src","img/mounth-button.png");
    $("#mounthbtn1").attr("src","img/mounth-button.png");
    } else {
    $("#mounthbtn").attr("src","img/mounth-pushed-button.png");
    $("#mounthbtn1").attr("src","img/mounth-pushed-button.png");
    }
    
    });
    
    //roller
    
    function move(){
      var rng = document.getElementById('scrol-line'),
      rng1 = document.getElementById('scrol-line1'),
      roll = document.getElementById('bgc'),
      roll1 = document.getElementById('bgc1');
      roll.value = rng.value;
      rng1.value = rng.value;
      roll1.value =   rng1.value;
    
    }
    
    //slider
    
    var slideIndex = 1;
    showSlides(slideIndex);
    
    function plusSlides(n) {
    showSlides(slideIndex += n);
    }
    
    function currentSlide(n) {
      showSlides(slideIndex = n);
    }
    
    function showSlides(n) {
      var i;
      var slides = document.getElementsByClassName("sliders");
    if (n > slides.length) {
      slideIndex = 1
    }
    
    if (n < 1) {
      slideIndex = slides.length
    }
    for (i=0; i < slides.length; i++) {
      slides[i].style.display = "none";
    }
    slides[slideIndex-1].style.display = "block";
    }

    mcheguevara2, 24 Мая 2017

    Комментарии (1)
  9. JavaScript / Говнокод #23040

    +2

    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
    $(document).ready(function(){
    
    		$('.field').click(function(){
    			$('.selected').removeClass('selected');
    			$(this).addClass('selected');
    			$(this).click(function(){
    
    				$('#move').attr('disabled', true);
    			$('.selected, .field').removeClass('visible');
    			$('.field').text('');
    			$('.selected').html('<span id="user"><img src="user.gif"></span>');
    			$('.selected').next().addClass('visible');
    			$('.selected').next().next().next().next().next().next().addClass('visible');
    			$('.selected').next().next().next().next().next().next().next().addClass('visible');
    			$('.selected').next().next().next().next().next().next().next().next().addClass('visible');
    			//$('.selected').addClass('visible');
    			$('.selected').prev().addClass('visible');
    			$('.selected').prev().prev().prev().prev().prev().prev().addClass('visible');
    			$('.selected').prev().prev().prev().prev().prev().prev().prev().addClass('visible');
    			$('.selected').prev().prev().prev().prev().prev().prev().prev().prev().addClass('visible');
    
    			});
    
    ...

    Поле перемещения, написано около года назад :D не знал как можно по-другому

    SardykoIvan, 18 Мая 2017

    Комментарии (1)
  10. JavaScript / Говнокод #23029

    +1

    1. 1
    sort((a, b) => 0 - (a.Bias > b.Bias ? 1 : -1))

    pankorez, 15 Мая 2017

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