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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    var body=document.getElementsByTagName('body')[0];
    var newBody="";
    newBody='<div id="'+this.cntID+'" class="hide you">'+this.flashCntDivArr.join('')+'</div>'+bgLayerDiv+"<div id='tplCnt'>"+body.innerHTML+"</div>";
    body.innerHTML=newBody;

    Натолкнулся в одном из проектов на такой вот способ добавления элемента в DOM. Я чего-то не понимаю?

    nbspjr, 09 Октября 2012

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

    +146

    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
    (function() {
        var elms = document.getElementsByClassName("tab");
        for( var i=0, l = elms.length; i<l; i++) {
            (function(i) {
                elms[i].onclick = function() {
                    var container=document.getElementsByTagName("span")[i];       
                    var this_height = container.offsetHeight;
                    if (document.getElementsByTagName("p")[i].style.height==this_height+"px") { // If 
                        var count = this_height;
                        var timeout_id = setInterval( function() {
                            if (count > 1) {
                                count--;
                            } else { clearTimeout(timeout_id); }
                            document.getElementsByTagName("p")[i].setAttribute("style", "height:"+count+"px");
                        } , 1)
                    } else {
                        var count = 0;
                        var timeout_id = setInterval( function() {
                            if (count < this_height) {
                                count++;
                            } else { clearTimeout(timeout_id); }
                            document.getElementsByTagName("p")[i].setAttribute("style", "height:"+count+"px");
                        } , 1)
                    }
                    
                };
            })(i);
        }
    })();

    Простейший аккордион.

    Emilco, 09 Октября 2012

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

    +154

    1. 1
    $(this).parent().parent().next().next().css({ visibility: 'visible' });

    musuk, 08 Октября 2012

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

    +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
    this.draw = function(scale) {
      ctx.save();
      ctx.translate(this.posX, this.posY);
      if (this.scale && this.scale < 1) ctx.scale(this.scale, this.scale);
      if (scale > 0) { 
        var boxHeight = 124.678568 + 0.394292; // ?!
        ctx.translate(0, ((boxHeight)-(scale*(boxHeight))));
        ctx.scale(scale,scale);
      }
      // вырезанный говнокод, отрисовывающий бабл в обычном масштабе
    
      ctx.restore();
    }

    Отрисовка нескольких фигур а-ля "бабл" на canvas с анимацией "выростания" бабла из своего нижнего левого угла. В метод draw передается параметр scale, содержащий значение масштаба фигуры в текущем кадре. /facepalm

    nbspjr, 05 Октября 2012

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

    +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
    let origOverviewShow;
    
    function onOverviewShow() {
        /* ... */
        Lang.bind(Main.overview, origOverviewShow)();
    }
    
    function enable() {
        /* ... */
        origOverviewShow = Overview.Overview.prototype.show;
        Overview.Overview.prototype.show = onOverviewShow;
    }

    https://github.com/rat4/layoutperwindow/blob/master/layoutperwindow%40rat4.github.com/extension.js

    rat4, 04 Октября 2012

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

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function hideHint() {
        $(".popup_hint").each(function() {
           if($(this).attr("class")=="popup_hint") $(this).hide(); 
        });
    
        $(".popup_hint_or").each(function() {
           if($(this).attr("class")=="popup_hint_or") $(this).hide(); 
        });
    }

    Масло масляное.

    someuglymf, 04 Октября 2012

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

    +153

    1. 1
    2. 2
    3. 3
    <!--[if IE 6]><script>
    	var ____________ie6 = true;
    </script><![endif]-->

    Из кода страницы почтового ящика на mail.ru. И зачем было когда-то ругать себя за govnokod.ru/5573 - даже большие дядьки так делают, чё я!

    telnet, 03 Октября 2012

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

    +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
    /**
             *  Create table sorting
             **/
            var sotr=function(el,by){
                var trs=dialog.find('#file_list').find('tr')
                ,reverse=false;
                if(el.attr('reverse')=='true'){
                    el.removeAttr('reverse');
                    reverse=true;
                }else{
                    el.attr('reverse','true')
                }
                trs=trs.sort(function(a,b){
                    a=$(a);
                    b=$(b);
                    var i=0;
                    switch(by){
                        case 'by-name':
                            var txt1=$(a.find('td')[0]).text();
                            var txt2=$(b.find('td')[0]).text();
                            if ((txt1 < txt2)){
                                return reverse?1:-1;
                            }else if ((txt1 > txt2)&&!reverse){
                                return  reverse?-1:1;
                            }else{
                                return 0;
                            }
                            break;
                        case 'by-link':
                            if(reverse)
                                return $(a.find('td')[1]).text().length-$(b.find('td')[1]).text().length
                            else
                                return $(b.find('td')[1]).text().length-$(a.find('td')[1]).text().length
                            break;
                        case 'by-date':
                            var aDate=new Date(parseInt($(a.find('td')[2]).attr('data-date'))*1000)
                            ,bDate=new Date(parseInt($(b.find('td')[2]).attr('data-date'))*1000);
                                return (aDate>bDate)&&(reverse)?-1:1;
                            break;
                    }
                    
                });
                dialog.find('#file_list').find('tr').remove();
                trs.bind('click',function(e){
                    trClickListener.call(this,e);
                });
                trs.bind('dblclick',function(e){
                    trDBClickListener.call(this,e);
                });
                trs.appendTo(dialog.find('#file_list')).show(100);
                
            
            }

    хуита, 03 Октября 2012

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

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if((typeof folder!='undefined')&&folder!='untag'){
                if((typeof cache[type].files[folder]!='undefined')&&caches){
                    pagination.create(cache[type].files[folder].count, false, cache[type].files[folder]);
                    show.loading(false);
                    return;
                }
                var params =  {
                    'tag':folder
                
                };
            }

    Вот глянул свой код полугодовалой давности, нужно было добавить пару фич. Охренел, 3 тысячи строк подобного вида и не одного комментария. Я себя ненавижу

    Stud, 02 Октября 2012

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

    +153

    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
    // Очистка полей формы
    function clearForm(formName) {
    	//var ff = document.getElementById(formName);
    	var ff = document.forms[formName];
    	for (var i=0; i<ff.elements.length; i++) {
    		if (ff.elements[i].type == "text") ff.elements[i].value="";
    		if (ff.elements[i].type == "select-one") ff.elements[i].value="";
    		if (ff.elements[i].type == "checkbox") ff.elements[i].checked=false;
    		if (ff.elements[i].type == "radio") {
    			ff.elements[i].value="0";
    			ff.elements[i].checked=false;
    		}
    	}
    }

    Действительно, зачем this.form.reset() использовать?

    someuglymf, 01 Октября 2012

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