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

    +144

    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
    $( '.video', tl ).each( function() {
    
                        if( this.id !== target ) {
                            
                            // get other objects props
                            var snaper = $(this);
                            var left   = getLeft( snaper );
                            var swidth = snaper.width();
    
                            // calculate snap positions
                            var leftSpan  = left + swidth;
                            var rightSnap = cPos + swidth; 
    
                            // if snap performed
                            if( cPos === leftSpan || rightSnap === left ) { 
                                
                                var mouse = getMouse( event, floater ); 
                                var shift = 5;                           
    
                                // if cursor goes out snaped object
                                if( shift === ( -1 * mouse ) || mouse === shift + swidth ) {   
    
                            
                                // difference in sizes
                                var diff = ( (fwidth - swidth) > 0 ) ? fwidth - swidth : swidth - fwidth;
    
                                    // setup new positions
                                    var fl = getLeft( floater );
                                    var sl = getLeft( snaper );
    
                                    // fix smaller position 
                                    if( fwidth > swidth ) {
                                        fl += diff;  
                                    } else {
                                        sl += diff;
                                    }
    
                                    // apply overlay to prevent blinking "dragable"
                                    var overlay = $('<div id="overlay"></div>');
                                    $('body').append(overlay);
                                    $('#overlay').focus();
       
                                    // reverse animation dock object
                                    snaper.animate({'left': fl}, 1000);
    
                                    // reverse animation floater
                                    floater.animate({'left': sl}, 1000,
                                    function(){
                                        // unset overlay
                                        $('#overlay').remove();
                                        // return focus to floater object
                                        floater.focus();
                                    });
    
    
                                }                                                             
    
                            }                     
                        }
    
                    });

    Обозвали лисповским червяком … Че сделать с плавной геометрической инверсией?

    Запостил: Stealth, 08 Августа 2013

    Комментарии (4) RSS

    • Код же хороший. Зачем ты его суда суешь?
      Кончай с этой привычкой. Увидел косяк в коде публикуй. Хороший по-твоему оставь. Здесь только говно обсмеивают.
      Ответить
    • Тьфу ты я Sterter прочитал
      Ответить
      • Две плашки на плоскости с разными размерами в момент перетаскивания на стыке со сдвигом 5 пикселов должны плавно переместиться так, что позиция фокус-центра не изменится вообще ...

        1)
        <=== [____] ==== [_] ====>

        2)
        <======= [____] [_] ====>

        3)
        <======= [_] [____]====>

        4 дня истерически ржал над своими же потугами в итоге обфускал все настолько, что у меня сишник наебнулся и сказал, что работать со мной больше не хочет ...

        Пол проекта можно показать -- оно только выглядит адекватно. так писать нельзя, но здесь формула не изменится никогда, поэтому обфускано.

        я уже сам почти не помню, что происходит. по другому не получилось
        Ответить
    • Кароче я не знаю, что мне от вас надо, очевидно, что чувак сидел с сатанами на голове и писал что-то другое, о чем я нечаянно догадался ...

      Не знаю где попросить о помощи. На сколково ткнули пальцем ... Кароче меня разъебало этим коллайдером так, что я чуть свои кишки не выблевал и в психушку не уехал. Так ... на заметку тому, кто попадет в трудную ситуацию.

      Извините еще раз ):

      Тут не подскажут
      Ответить

    Добавить комментарий