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

    +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
    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
    if($(".column.fixed").size() && !pageStyle.tablet && !pageStyle.touch) {
    		var maxOffset = $("div[class='column3']").height() + $("div[class='column3']").offset().top;
    		var columnFixed = $(".column.fixed");
    		var column3Offset = columnFixed.offset().top;
    		// debug
    		if(false) {
    			$("body").append("<div id='walla'></div>");
    			var div = $("#walla");
    			div.css({
    				width: "100%",
    				height: "10px",
    				background: "green",
    				position: "absolute",
    				top: maxOffset
    			});
    		}
    
            console.log(maxOffset);
    
    		wnd.scroll(function() {
    			var top = wnd.scrollTop();
    			var position = (top - column3Offset + 85) > 0 ? "fixed" : "static";
    
    			var marginTop = 0;
    
    			if(position == "fixed") {
    				marginTop = (-1) * column3Offset + 85;
    
                    // debug
    
                    //console.log(top);
    				// console.log(maxOffset);
    
    				if(top + columnFixed.height() + 150 > maxOffset) {
    					marginTop = marginTop - (top + columnFixed.height() + 150 - maxOffset);
    					// console.log('sdfsdf');
    				}
    			}
    
    			columnFixed.css({
    				marginTop: marginTop,
    				position: position
    			});
    		});
    	}

    Прилипающий блок при скролле (без учета увеличения контента).... особенно мне нравится if(false)

    Запостил: farit_slv, 20 Марта 2014

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

    • >особенно мне нравится if(false)
      там же написано debug
      Ответить
      • Да?? на рабочем проекте? да и к тому же, если даже это и debug, то по сути можно было в переменную загнать, хотя и в этом смысла нет, просто в консоль лог кидать значение этого достаточно для дебага
        Ответить
    • Магия цифр конечно говно. Кто то может сказать что jQ не спрятана за фасадом тоже говно.
      Если говно только >без учета увеличения контента то скучно...
      Ответить

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