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

    +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
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    if($('.article-775-gallery')){
            $('.article-775-gallery').each(function(){
                get_images_by_building_gallery_id($(this).attr('id').replace(/gallery-/g,''));
            });
        }
    
        /* ************************************************************************************************************** */
    
        function get_building_details_by_property_id(id, size){
            $.get(urlprefix + "/ajax/nanar/" + id, function(data){
                var desc = jQuery.parseJSON(data);
                console.log(desc);
                if(desc.street && desc.zip && desc.town){
                    $('div[id="new-property-entry-id-' + id + '"] .house-item-head').html(desc.street + " <strong>" + desc.zip + " " + desc.town + " </strong>");
                    $('div[id="new-property-entry-id-' + id + '"] .house__item-descr').text(desc.description);
                    $('div[id="new-property-entry-id-' + id + '"] img').attr('src', desc.preview + size);
                    $('div[id="new-property-entry-id-' + id + '"] .verd').text(desc.verd);
                    $('div[id="new-property-entry-id-' + id + '"] .stard').text(desc.stard);
                    $('div[id="new-property-entry-id-' + id + '"] .tegund').text(desc.tegund);
                    $('div[id="new-property-entry-id-' + id + '"] .rooms').text(desc.rooms);
                    $('div[id="new-property-entry-id-' + id + '"]').slideDown();
                }
            });
        }
    
        if($('div[id^="new-property-entry-id-"]')){
            setTimeout(function(){
                $($('div[id^="new-property-entry-id-"]')).each(function(){
                    var size;
                    if($('div[id^="new-property-entry-id-"] div').hasClass('big-image')){
                        size = "180x140";
                        $('.new-property-entry-description').css('width','476px');
                        $('.time').css('display','block');
                    }else{size = "322x157";}
                    get_building_details_by_property_id($(this).attr('id').replace(/new-property-entry-id-/g,''), size);
                });
            },500);
        }

    код творит чудеса :), я его побоялся трогать.... знаю что функция на 9 строчке, это некое подобие шаблонизатора

    expert, 15 Мая 2014

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

    +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
    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
    $('.order-form-popup form').on('submit', function (e) {
    			e.preventDefault();
    			var data = $(this).serializeArray(),
    				mainProfilesList = '',
    				fillingsList = '';
    
    			$('.field-name-field-eo-main-profiles .field-item').each(function () {
    				mainProfilesList += ('<li>' + ($(this).text()) + '</li>');
    			});
    
    			$('.field-name-field-eo-fillings .field-item').each(function () {
    				fillingsList += ('<li>' + ($(this).text()) + '</li>');
    			});
    
    			data.push({
    				name: 'profiles',
    				value: '<ul>' + mainProfilesList + '</ul>'
    			});
    
    			data.push({
    				name: 'fillings',
    				value: '<ul>' + fillingsList + '</ul>'
    			});
    
    			data.push({
    				name: 'number',
    				value: $('.field-name-field-eo-product-number .field-item').text()
    			});
    
    			data.push({
    				name: 'qty',
    				value: $('#qty-input').val()
    			});
    
    			data.push({
    				name: 'area',
    				value: $('.field-name-field-eo-area .field-item').text()
    			});
    
    			data.push({
    				name: 'price',
    				value: $('.field-name-field-eo-price-without-discount .field-item').text()
    			});
    
    			$.ajax({
    				url: location.protocol + '//' + location.hostname + '/send-message.php',
    				type: 'POST',
    				data: data,
    				success: function (data, textStatus) {
    					var msg = '<h3 id="order-form-popup-msg" style="text-align: center; margin-top: 50%;">Заявка успешно отправлена.<br /> Спасибо!</h3>'
    					$('.order-form-popup form, .order-form-popup-title').hide();
    					$('.order-form-popup').append(msg);
    					window.setTimeout(function () {
    						$('.order-form-popup, .order-form-overlay').fadeOut(500);
    						$('#order-form-popup-msg').remove();
    						$('.order-form-popup form, .order-form-popup-title').show();
    					}, 3500);
    				},
    				error: function (jqXHR, textStatus, errorThrown) {
    					//for debugging
    				}
    			});
    		});

    Сериализация данных из полей, находящихся вне формы.

    DrDre, 15 Мая 2014

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

    +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
    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
    Ext.define('Block', {
        config: {
            title: 'default',
            desc: 'default'
        },
        constructor: function (config) {
            this.initConfig(config);
        },
        tpl: new Ext.Template( '<div class="block">\
                                <div class="close">×</div>\
                                <div class="wrapper">\
                                <h3 class="title">{0}</h3>\
                                <p class="desc">{1}</p>\
                                </div>\
                                </div>'),
        create: function(){
            var div = new Ext.dom.Element(document.createElement('div')),
                html = this.tpl.apply([
                    this.title,
                    this.desc
                ]);
            div.setHTML(html);
            return div.first();
        }
    });
    
    var form = Ext.get('form'),
        blocks = Ext.get('blocks');
    
    form.addListener('submit', function(e, me){
        e.preventDefault();
    
        var title = me.elements.title.value,
            desc = me.elements.desc.value,
            blockInstance = Ext.create('Block');
    
        blockInstance.setTitle(title);
        blockInstance.setDesc(desc);
    
        var blockElement = blockInstance.create();
        blocks.appendChild(blockElement);
        blockElement.select('.close').addListener('click', function(){
            blockElement.remove();
        });
        me.reset();
    });

    Реализация минимального todo app на ExtJS. Переписывалась с чистого js ради эксперимента.

    DrDre, 15 Мая 2014

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

    +156

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    if('false' == 'true') {
        var anm= '';
        anm = anm.split(",");
        var rd = jQuery(this).jqGrid('getRowData', id);
        if(rd) {
            for(var i=0; i<anm.length; i++) {
                if(rd[anm[i]]) {
                    data[anm[i]] = rd[anm[i]];
                }
            }
        }
    }

    Somnio, 14 Мая 2014

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

    +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
    if (deltaLeft == 1) {
    	left -= 16;
    } else if (deltaLeft == 2) {
    	left -= 36;
    } else if (deltaLeft == 3) {
    	left -= 52;
    } else if (deltaLeft == 4) {
    	left -= 68;
    } else if (deltaLeft == 5) {
    	left -= 84;
    } else if (deltaLeft == -1) {
    	left += 16;
    } else if (deltaLeft == -2) {
    	left += 36;
    } else if (deltaLeft == -3) {
    	left += 52;
    } else if (deltaLeft == -4) {
    	left += 68;
    } else if (deltaLeft == -5) {
    	left += 84;
    }
    
    if (deltaTop == 1) {
    	top -= 30;
    } else if (deltaTop == -1) {
    	top += 27;
    } else if (deltaTop == -2) {
    	top += 50;
    } else if (deltaTop == 2) {
    	top -= 55;
    }

    И снова привет передают магические числа.

    kostoprav, 14 Мая 2014

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

    +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
    $(document).ready(function() {
    	$('#about').click(function(about){    
    		$('#outside, #outside2, #outside3, #outside4, #outside5, #outside6, #outside7, #outside8, #outside9, #outside10, #outside11').fadeToggle('slow');
    	});
    
    	$('#whyus').click(function(whyus){    
    		$('#outsidewhy, #outsidewhy2, #outsidewhy3, #outsidewhy4, #outsidewhy5, #outsidewhy6, #outsidewhy7, #outsidewhy8, #outsidewhy9, #outsidewhy10, #outsidewhy11').fadeToggle('slow');
    	});
    
    	$('#portfolio').click(function(port){    
    		$('#outsideport, #outsideport2, #outsideport3, #outsideport4, #outsideport5, #outsideport6, #outsideport7, #outsideport8, #outsideport9, #outsideport10, #outsideport11').fadeToggle('slow');
    	});
    
    	$('#contact').click(function(con){    
    		$('#outsidecon, #outsidecon2, #outsidecon3, #outsidecon4, #outsidecon5, #outsidecon6, #outsidecon7, #outsidecon8, #outsidecon9, #outsidecon10, #outsidecon11').fadeToggle('slow');
    	});
    });

    В этом коде все хорошо и солнечно

    kostoprav, 14 Мая 2014

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

    +163

    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
    function loading() {
         $('#close').hide(function() {
          $('#loading').show(function () {
            setTimeout(function(){
                $('#loading2').show(function() {
                setTimeout(function(){
                  $('#loading3').show(function () {
                    setTimeout(function(){
                      $('#vk').show(function() {
                        setTimeout(function(){
                         $('#odn').show(function() {
                          setTimeout(function(){
                            $('#fb').show(function() {
                              setTimeout(function(){
                               $('#tw').show(function () {
                                $('#geo').show();
                                setTimeout(function(){
                                  payment();
                                },1300);
                               });
                              },1600);
                            });
                          },1700);
                         });
                        },1400);
                      });
                    },1600);
                  });
                },1900);
              });
            },1600);
          });
         });
         }

    Из исходного кода сайта, "раскрывающего" анонимов на аск.фм

    TRANE73, 13 Мая 2014

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

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function test(x) {
        function undefined(x) { throw "Missing in action"; }
        switch (x) {
        case 1: console.log("X reporting for duty!"); break;
        case undefined(x): break;
        }
    }

    Переделка длинного и скучного кода, но смысл остался.

    wvxvw, 13 Мая 2014

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

    +160

    1. 1
    elem.innerPHP

    Интересно, почему же не работает?..

    AjiTae, 12 Мая 2014

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

    +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
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    // обработка наведения/убирания мышки на тултипы и ссылки
    $("a.popup-link").live("mouseenter", function(event) {
        var id = parseInt($(this).text().replace(">>", ""));
        $(window).data("currentTooltip", id);
        showTooltip(this, id);
    });
    
    $("a.popup-link").live("mouseleave", function(event) {
        $(window).data("currentTooltip", null);
        scheduleTooltipClose();
    });
    
    $("div.comment-tooltip").live("mouseover", function(event) {
        if (!$(event.target).hasClass("popup-link")) {
            $(window).data("currentTooltip", $(this).data("id"));
        }
    });
    
    $("div.comment-tooltip").live("mouseleave", function(event) {
        $(window).data("currentTooltip", null);
        scheduleTooltipClose();
    });

    https://github.com/bormand/govnokod-board

    Превращаем уютненький форум в уютненькую борду (скрипт для greasemonkey).

    P.S. На ГК стоит жквери 1.4, поэтому live() вместо on().

    bormand, 09 Мая 2014

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