1. 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)
  2. 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)
  3. 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)
  4. JavaScript / Говнокод #23090

    −1

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

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

    vasya, 31 Мая 2017

    Комментарии (6)
  5. 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

    Комментарии (1)
  6. 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)
  7. 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)
  8. JavaScript / Говнокод #23029

    +1

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

    pankorez, 15 Мая 2017

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

    +967

    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
    if (!ch.election) {
            exec('date -R', function(error, stdout, stderr) {
                if (stdout.search('Wed') > -1) {
                    ch.startElection();
                }
            });
        } else {
            exec('date -R', function(error, stdout, stderr) {
                if (stdout.search('Wed') < 0) {
                    ch.stopElection();
                }
            });
        }

    В ноде видимо нет функций для работы с календарём...

    https://github.com/birdlab/trigger/blob/master/src/node/trigger/channel.js#L783

    POPSuL, 25 Августа 2016

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

    +2004

    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
    // ==UserScript==
    // @name         GK refine
    // @version      0.1
    // @description  opens comments on govnokod.ru... etc
    // @match        http://govnokod.ru/*
    // @match        http://www.govnokod.ru/*
    // @grant        none
    // ==/UserScript==
    
    // Показывает в стоке "new" около нового комментария
    // и пишет, сколько времени назад его оставили
    (function(){
        if(location.pathname != '/comments') return;
        
        var key = 'fcd0d66f-9ff0-4827-82f1-e183dc1ab98c-last-time';
        var lastTime = localStorage[key] ? +localStorage[key] : 0;
        var now = new Date();
        
        $('abbr.published').each(function(){
            var d = + new Date($(this).attr('title'));
            $(this).text(((now-d) / 1000 / 60).toFixed(2) + 'm');
            if(d > lastTime) $(this).after('<span style="color: red">NEW </span>');
        });
        localStorage[key] = +now;
    })();
    
    // Открывает скрытые комменты
    $("div.entry-comment-hidden").removeClass('entry-comment-hidden');

    Смотрю, а багры в стоке комментарий подменяют, чтобы пользователи не видели, где новый багор, а где старый.
    Я только сейчас это понял потому, что у меня около непросмотренного в стоке пишется "NEW" уже несколько месяцев.
    Запилил потому, что даже без багров не помнил, что открыл, а что нет. А тут в тему будет для тех, у кого платного аккаунта нет.

    1024--, 21 Августа 2016

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