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

    +145

    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
    function parseHTML(text)
    {
        var t = text;
        var a = new Array();
    	var b = new Array();
        var cur = 0;
        var waiting_open_tag = true;
    	var last_cut = 0;
        for (var i = 0; i < t.length; i++)
        {
            cur = t.charAt(i);
            if (waiting_open_tag)
            {
                if (cur == '<')
    			{
    				a.push(t.substring(last_cut, i));
    				waiting_open_tag = false;
    				last_cut = i;
    			}
            }
    		else
    		{
                if (cur == '>')
    			{
    				a.push(t.substring(last_cut, i+1));
    				waiting_open_tag = true;
    				last_cut = i+1;
    			}
    		}
    		if (i == t.length-1)
    		{
    			a.push(t.substring(last_cut, i+1));
    		}
    
        }
    	// now reparse DOT"."
    	for (i = 0; i < a.length; i++)
    	{
    		y = a[i];
    		last_cut = 0;
    		for (z = 0; z < y.length; z++)
    		{
    			cur = y.charAt(z);
    			if (z == 0)
    			{
    				if ((cur == '<') || (cur == '&') || (cur == '\n'))
    				{
    					z = y.length + 981;
    					b.push(y.substring(last_cut, z+1));
    					continue;
    				}
    			}
    			if (cur == '.')
    			{
    				b.push(y.substring(last_cut, z+1));
    				last_cut = z+1;
    			}
    			if (z == y.length-1)
    			{
    				b.push(y.substring(last_cut, z+1));
    			}
    		}
    	}
        return b;
    }

    Эта функция разбивает строку на элементы массива. Граница разделения - это HTML tags ( < >) и точка (.)
    Функция сделана для подготовки текста к автоматическому переводу в Гугле - кто работал тот знает что запихнув большую строку ничего не получите.
    Я уже знаю ваши сопливые комментарии: RegExp. Собственно по этому это можно считать говнокодом ибо изобретен велосипед (но такого велосипеда в интернете нет). Ну а кто не Noob, прошу предоставить рабочий RegExp.

    increazon, 02 Декабря 2010

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

    +161

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    $(document).ready(function () {
            $("#GridView1 INPUT[type='checkbox']").click(
            function () {
                var colIndex = $(this).parent().parent().prevAll().length;
                $('.' + $(this).parent().attr("class") + ' input[type="checkbox"]').each(function () {
                    if ($(this).parent().parent().prevAll().length == colIndex)
                        $(this).attr('checked', false);
                });
                $(this).attr('checked', true);
            });
        });

    взаимоисключающие чекбоксы в колонках таблицы

    zzy, 01 Декабря 2010

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

    +147

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var n = Math.abs(((date2 - date1) / 86400000) + 1);	
    var frac = n - Math.floor(n);
    
    if (frac > 0.5) {
    	n = Math.ceil(n);
    } else if (frac < 0.5 && frac.toPrecision(2) != 0) {
    	n = Math.floor(n);
    	n--;
    }
    
    n++;

    Мой говнокод.
    Задача: найти количество дней между двумя датами, включая сами эти даты. Время в датах сброшено в 0
    Фишка в том "(date2 - date1) / 86400000) + 1", не работает когда есть перевод часов между двумя датами.
    И вот такое говно я написал, которое по некоторым дням НЕ РАБОТАЕТ.

    переписал вот так:
    var n = Math.abs(date2 - date1);
    n /= 3600000;
    var mod = n % 24;
    if (mod == 23) {
    n++;
    } else if (mod == 1) {
    n--;
    }
    n /= 24;
    n++;

    теперь не важно сколько переводов часов прошло между датами: 0, 1, 2 или 5.

    По поводу говнокода:
    За такой frac на авторе надо зарабатывать фраг!

    Oleg_quadro: автор, убей себя головой о клаву:
    Oleg_quadro: "vb fgrbfvgr bgfvrt rtuijnikjikni56trg5rt6g45t6rgyh hnjunh ujuuuuuuuuuuuuuuuuuuuy"

    Oleg_quadro, 01 Декабря 2010

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

    +163

    1. 1
    2. 2
    3. 3
    function GetPath(path){
     return path;
    }

    Коротко и ясно! Единственный метод в модуле.

    Scorpibear, 01 Декабря 2010

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

    +160

    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
    TINY.accordion=function(){
    	function slider(n){this.n=n; this.a=[]}
    	slider.prototype.init=function(t,e,m,o,k){
    		var a=T$(t), i=s=0, n=a.childNodes, l=n.length; this.s=k||0; this.m=m||0;
    		for(i;i<l;i++){
    			var v=n[i];
    			if(v.nodeType!=3){
    				this.a[s]={}; this.a[s].h=h=T$$(e,v)[0]; this.a[s].c=c=T$$('div',v)[0]; h.onclick=new Function(this.n+'.pr(0,'+s+')');
    				if(o==s){h.className=this.s; c.style.height='auto'; c.d=1}else{c.style.height=0; c.d=-1} s++
    			}
    		}
    		this.l=s
    	};
    	slider.prototype.pr=function(f,d){
    		for(var i=0;i<this.l;i++){
    			var h=this.a[i].h, c=this.a[i].c, k=c.style.height; k=k=='auto'?1:parseInt(k); clearInterval(c.t);
    			if((k!=1&&c.d==-1)&&(f==1||i==d)){
    				c.style.height=''; c.m=c.offsetHeight; c.style.height=k+'px'; c.d=1; h.className=this.s; su(c,1)
    			}else if(k>0&&(f==-1||this.m||i==d)){
    				c.d=-1; h.className=''; su(c,-1)
    			}
    		}
    	};
    	function su(c){c.t=setInterval(function(){sl(c)},20)};
    	function sl(c){
    		var h=c.offsetHeight, d=c.d==1?c.m-h:h; c.style.height=h+(Math.ceil(d/5)*c.d)+'px';
    		c.style.opacity=h/c.m; c.style.filter='alpha(opacity='+h*100/c.m+')';
    		if((c.d==1&&h>=c.m)||(c.d!=1&&h==1)){if(c.d==1){c.style.height='auto'} clearInterval(c.t)}
    	};
    	return{slider:slider}
    }();

    http://installauto.ru/ajax/script.js
    чья-то реализация аккордиона. и почему же оно хреново в ИЕ пашет?

    noRerih, 01 Декабря 2010

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

    +154

    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
    http://vkontakte.ru/
    <noscript><meta http-equiv="refresh" content="0; URL=/badbrowser.php"></noscript>
    
    
    http://vkontakte.ru/badbrowser.php
    <script type="text/javascript">
    <!--
    
    //window.checkbrowser = true;
    if (window.checkbrowser) {
      try {
        if (new XMLHttpRequest()) {
          location.replace('/');
        }
      } catch(e) {
        try {
          if (new ActiveXObject('Msxml2.XMLHTTP')) {
            location.replace('/');
          }
        } catch(e) {}
        try {
          if (new ActiveXObject('Microsoft.XMLHTTP')) {
            location.replace('/');
          }
        } catch(e) {}
      }
    }
    -->
    </script>

    Вот так суровые вконтактостроители отправляют на йуг пользователей NoScript.

    Vindicar, 30 Ноября 2010

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

    +158

    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 checkboxHandler(e) {
    	var el = e.target;
    	if(el.className == "checked") {
    		el.className = "unchecked";
    		showThumbs(el, false); 
    	}
    	else {
    		el.className = "checked";
    		showThumbs(el, true); 
    	}
    }
    function showThumbs(el, stat) {
    	if(stat)
    		addThumbs(el.id);
    	else
    		removeThumbs(el.id);
    }

    zhegan, 25 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    function eval()
    {
        this.obj = eval(obj);
    }

    выкопал из сорцов игрушки...

    Lure Of Chaos, 24 Ноября 2010

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

    +162

    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
    function poс()
    {
    course = $('#points').text()
    if(course > 10) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (чёрная кошка)', message:'Пользователь Гость заказал стикер (чёрная кошка).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pod()
    {
    course = $('#points').text()
    if(course > 15) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (миллион долларов)', message:'Пользователь Гость заказал стикер (миллион долларов).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function poe()
    {
    course = $('#points').text()
    if(course > 20) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (на счастье)', message:'Пользователь Гость заказал стикер (на счастье).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pof()
    {
    course = $('#points').text()
    if(course > 25) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (+100)', message:'Пользователь Гость заказал стикер (+100).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }
    function pog()
    {
    course = $('#points').text()
    if(course > 15) {
     $.post('/index/',{a:18, s:'LllMmm', subject:'Товар - стикер (настоящий мужчина)', message:'Пользователь Гость заказал стикер (настоящий мужчина).'});
     } 
     else {_uWnd.alert('Недостаточно баллов.','Ошибка')}
    }

    И так 16 функций...

    qePH, 22 Ноября 2010

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function check() {
      if (document.login.user.value == "user" && document.login.password.value == "correct_password")
        window.location.href = 'http://this.site/login.html';
      else
        window.location.href = 'http://this.site/loginfehler.html';
    return false;
    }

    http://ithappens.ru/bytag/webdev/13 - И смех и грех!

    dwinner, 15 Ноября 2010

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