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

    +152

    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
    var nav = null;
    
    function init_dev_steps(step) {
      this.step = step;
      this.steps_glass = ge('dev_steps_s');
      this.steps_glass_c = geByClass('content', this.steps_glass)[0];
      this.steps_wrap = ge('dev_steps_c');
      this.steps_content = geByClass('content', this.steps_wrap)[0];
      this.anim = Fx.Transitions.sineInOut;
    
      this.move = function(to_step) {
        if (to_step == (this.moving ? this.m_to : this.step)) return;
        var moving = true;
        if (!this.moving) {
          moving = false;
          this.m_height = this.steps_wrap.offsetHeight - 2;
          this.m_g = (this.step - 1) * 140;
          this.m_c = (1 - this.step) * 540;
          this.m_cur = this.step;
          this.tick = 0;
          var self = this;
          this.moving = setInterval(function() {
            self.m_time += 13;
            if (self.anim_h) {
              
              self.tick += 1;
              
              if (self.tick == 3) {
                if (self.m_time > self.h_time) {
                  self.m_height = self.m_to_height;
                } else {
                  self.m_height = self.anim(self.m_time, self.m_from_height, self.m_to_height - self.m_from_height, self.h_time);
                }
                self.steps_wrap.style.height = self.m_height + 'px';
                self.tick = 0;
              }
            
              if (self.m_time > self.h_time) {
                self.m_g = self.m_to_g;
                self.m_c = self.m_to_c;
                self.anim_h = false;
                self.anim_v = (self.m_to_height != self.m_height);
                self.m_time -= self.h_time;
              } else {
                self.m_g = self.anim(self.m_time, self.m_from_g, self.m_to_g - self.m_from_g, self.h_time);
                self.m_c = self.anim(self.m_time, self.m_from_c, self.m_to_c - self.m_from_c, self.h_time);
                if (self.diff) self.steps_glass.style.width = self.anim(self.m_time, self.from, self.diff, self.h_time)+'px';
              }
              self.steps_content.style.marginLeft = self.m_c + 'px';
    
              self.steps_glass.style.marginLeft = self.m_g + 'px';
              self.steps_glass_c.style.marginLeft = (-self.m_g - 2) + 'px';
    
              self.m_cur = Math.floor(self.m_g / 140) + 1;
    
            }
            if (!self.anim_h) {
              self.step = self.m_to;
              //hab.setHash('devstep' + this.step);
              location.hash = 'devstep' + self.step;
              self.steps_wrap.style.height = self.m_to_height + 'px';
              clearInterval(self.moving);
              self.moving = false;
              if (self.step == 3 && ge('inv_password')) focus('inv_password');
            }
          }, 13);
        }
    
    
    ...

    Govnisti_Diavol, 26 Апреля 2012

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    function someFunction(t) {
        var y="$('#elementID').find('input[type=\"text\"]:eq(", z=")').focus()", x=")').val()==''";
        setTimeout("( "+y+"0"+x+" )? ( "+y+"0"+z+" ):( ( "+y+"1"+x+" )? ( "+y+"1"+z+" ):( "+y+"2"+z+" ) );", t);
    }

    это какое-то нечто

    bot, 25 Апреля 2012

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

    +159

    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
    function line( x0, y0, x, y, elmId ) {
    
    	var sx = x-x0, sy = y-y0, dir = (sx>sy), adir = (Math.abs(sx)>Math.abs(sy));
    
    	if ( (x0>x&&y0<=y&&adir)||(x0<=x&&y0>y&&!adir)||(x0>x&&y0>y) ) return line(x, y, x0, y0, elmId); // black magic!
    
    	var d1 = dir? x0:y0, d2 = dir? y0:x0, b1 = dir? sx:sy, b2 = dir? sy:sx, k = b2/b1;
    
    		for( var i=0; i<=b1;i++ ){
    
    			if ( dir ) plot( d1, Math.floor(d2), elmId );
    			else plot( Math.floor(d2), d1, elmId );
    
    			d1++;d2+=k;
    		}
    	return true;
    }
    /* ... */
    function plot(x, y, elmId) {
    
    	var div = document.createElement('div');
    	div.className = 'dot' + (!!elmId? ' dot-'+elmId:'' ) ;
    	div.style.left = x + 'px';
    	div.style.top = y + 'px';
    
    	document.getElementsByTagName('BODY')[0].appendChild(div);
    }

    Опачки...

    istem, 20 Апреля 2012

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

    +155

    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
    var d = new Date();
        dom = d.getDate();
        month = d.getMonth();
        year = d.getYear();
        if (year < 2000) year = year - 100;
        else year = year - 2000;
    
        if (year == 12 && month == 3)
            days = 26 - dom;
        else 
            days = 0;
        if (days < 0) days = 0;
        if (days < 10) days = '0' + days.toString();
    
    
    var base = 'http://ubuntu.ru/media/countdown/1204_1/';
    
    document.write('<a href="http://ubuntu.ru/"><img id="countdownimage" src="'+base+days+'.png" width="180" height="150" border="0" alt="Ubuntu 12.04 LTS" title="Ubuntu 12.04 LTS - Уже скоро!"></a>');
    //document.write('<a href="http://ubuntu.ru/get"><img id="countdownimage" src="'+base+'here.png" width="180" height="150" border="0" alt="Ubuntu 12.04 LTS" title="Ubuntu 12.04 LTS - Уже здесь!"></a>');

    http://ubuntu.ru/media/countdown/display.js

    хуита, 18 Апреля 2012

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

    +152

    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
    function sendForm() {
      var checksrole = document.getElementsByName("role");
      var i = 0, f = 0;
      while (f == 0 && i < checksrole.length) {
        if (checksrole[i].checked == true) {
          f = 1;
        }
        i++;
      }
      if (f == 0) {
        WindowUtils.popUpDialog("Пожалуйста, выберите роль пользователя", "WARN");
        return false;
      }
      return true;
    }

    Автор не догадывается о существовании типа boolean, о говорящих именах функций, о досрочном выходе из цикла и о возможностях используемых фреймворков (на странице использованы одновременно YUI - для вывода окна сообщения и Prototype - для отправки AJAX-запроса).

    victor-homyakov, 16 Апреля 2012

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

    +154

    1. 1
    2. 2
    3. 3
    escape = function(string) {
        return (''+string).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#x27;').replace(/\//g,'&#x2F;');
      };

    Ваше мнение?

    __proto__, 14 Апреля 2012

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

    +157

    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
    $(document).ready(function(){ 
    
            // ...
    
    	var nom1=0;
    	var nom2=0;
    	
    	$("#first").live("hover", function() {
    		$(".blocks1").addClass('activ_block');
    		$(".blocks1 .block1").addClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq(0).addClass('activ_block');
    		$(".blocks1 .block1 a").eq(0).addClass('active_red');
    		nom1 = 0;
    		
    		$(".blocks").removeClass('activ_block');
    		$(".blocks2").removeClass('activ_block');
    		$(".blocks3").removeClass('activ_block');
    		$(".blocks .blocks ul").removeClass('activ_block');
    		$(".blocks .blocks div").removeClass('activ_block');
    		$(".blocks .block1").removeClass('activ_block');
    		$(".blocks .block2").removeClass('activ_block');
    		$(".blocks .block3").removeClass('activ_block');
    		$(".blocks .block1 a").removeClass('active_reds');
    		$(".blocks .block2 a").removeClass('active_reds');
    	});
    	
    	$(".blocks1 .block1 a").live("click", function() { 
    		nom1 = $(".blocks1 .block1 a").index(this); // id level 2
    		$(".blocks1 .block1 a").removeClass('active_red');
    		$(this).addClass('active_red');
    		$(".blocks1 .block2 ul").removeClass('activ_block');
    		$(".blocks1 .block2").addClass('activ_block');
    		$(".blocks1 .block2 ul").eq((nom1)).addClass('activ_block');	
    	});
    	
    	$(".blocks1 .block2 a").live("hover", function() { 
    		nom2 = $(".blocks1 .block2 ul.activ_block a").index(this); // id level 3
    		
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    		$(".blocks1 .block3").addClass('activ_block');
    		$(".blocks1 .block3 div.z").eq((nom1)).addClass('activ_block');
    		$(".blocks1 .block3 div.activ_block div").eq((nom2)).addClass('activ_block');
    
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(this).addClass('active_reds');		
    	});
    	
    	$(".blocks1 .block1").hover(function() { 
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block3 div div").removeClass('activ_block');
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block3").hover(function() { 
    	} , 
    	function() {
    		
    	});
    	
    	$(".blocks1 .block2").hover(function() {
    		$(".blocks1 .block3").removeClass('activ_block');
    		$(".blocks1 .block3 div").removeClass('activ_block');
    		$(".blocks1 .block2 a").removeClass('active_reds');
    	} , 
    	function() { 
    		if ($(".blocks1 .block3").hasClass('activ_block')) {
    		} else {
    		}
    	});
    
            // ...
    
    });

    Очередной шедевр jQuery-мастеров. Скрипт меню, приведенный код - около трети от общего количества такого же.

    sap1ens, 13 Апреля 2012

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

    +155

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    $(function() {
       ...
       $(document).ready(function() {
          ...
       }
    }

    somnambulism, 09 Апреля 2012

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

    +155

    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
    n = 1;
    			sel_images[n] = new Array();
    			sel_images[n]['images'] = new Array(<?=$t ?>);
    			sel_images[n]['images_numb'] = new Array(<?=$t_del ?>);
    			sel_images[n]['maxcount'] = 2;
    			sel_images[n]['blockid'] = 'imgbl2';
    			sel_images[n]['type'] = 'one';
    			
    			sel_images[n]['tmp_names'] = 'image2[]';
    			sel_images[n]['tmp_blockid'] = 'tmp_imgbl2';
    			sel_images[n]['tmp_images'] = new Array();
    				
    			imagetmp_input(n);
    			imageselection_input(n);

    Итак, на каждый инпут файлов, пхп кодеры пишут вот такой участок кода.

    Китайский код везде и всюду.

    m1el, 07 Апреля 2012

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

    +149

    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
    $(function(){
      // ... тут могла быть ваша реклама
      var answers_height = 0;
      $(".game-test .answers li a").each(function(){                              // Array.prototype.sort не для нас (как и underscore.js' max)
        if (answers_height < $(this).height()) answers_height = $(this).height();
      }).click(function(){                                                        // чувак не в курсе, что можно вешать онклик прямо на li
        $(this).parent().addClass("checked").siblings().removeClass("checked");   // ничего jQuery#parent() нас спасёт
        $(this).parent().find("input").click();                                   // замкнуть инпут в переменную не для нас
        alert($(this).parent().parent().find("input:checked").val());             // да и зачем, когда есть jQuery?
        return false;                                                             // Event#preventDefault() не для нас, но ничего, jQuery поймёт и так
      });
      $(".game-test .answers li a").height(answers_height);                       // ах да, совсем забыл...
    });

    давным-давно известно, что верстальщики не умеют кодить, но всё же

    P.S. JQuery говно.

    maker_up, 06 Апреля 2012

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