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

    +155

    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
    function createLinks(abys_id)
    	{
    		//get current year
    		var cur_year = parseInt($("#abys_id"+abys_id).children("span").text());
    		/*
    		 *	create links hrefs
    		 */
    		var ml_block = $("#ab_month_grid > .abmg_line");
    		ml_block.each(function(num,elem)
    			{
    				var month;
    				var anchors = elem.getElementsByTagName("a");
    				for(var n=0;n<anchors.length;n++)
    				{
    					month = (n==0)?12:(n==1)?3:(n==2)?6:9;
    					(num == 1)
    					?
    						(month == 12)
    						?
    							month = 1
    						:
    							month++
    					:
    					(num == 2)
    					?
    						(month == 12)
    						?
    							month = 2
    						:
    							month+=2
    					:
    						"--empty--"
    					;
    
    					anchors[n].href = "http://some_site/archive/news/all/"+cur_year+"/"+month+"/";
    				}
    			});
    		
    	}

    Вот люблю я инлайновые условия и все тут=)
    Это callback для заполнения href у ссылок календаря архива новостей.

    Запостил: ikenfin, 06 Июня 2012

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

    • Тернарники хорошо выровнены - редко где такое вижу.
      Ответить
      • Особенно на 15 строке
        Ответить
      • Дык и себе и другим удобно читать, а выглядит такой тернарник "лично_для_меня" намного красивее, чем if/else конструкции=)
        Ответить
        • Да, побочные эффекты в тернарниках безусловно рулят(для обфускации кода).
          Ответить

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