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

    +159

    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
    function block_select_from(block,type){
         
          if(type=='all'){
             document.getElementById('block_'+block+'_all').style.display='';
             document.getElementById('block_'+block+'_blogs').style.display='none';
             document.getElementById('block_'+block+'_articles').style.display='none';
          }
          else if(type=='blogs'){
             document.getElementById('block_'+block+'_all').style.display='none';
             document.getElementById('block_'+block+'_blogs').style.display='';
             document.getElementById('block_'+block+'_articles').style.display='none';
          }
          else if(type=='articles'){
             document.getElementById('block_'+block+'_all').style.display='none';
             document.getElementById('block_'+block+'_blogs').style.display='none';
             document.getElementById('block_'+block+'_articles').style.display='';
          }
          
      }

    Классика жанра с сайта popmech.ru

    Запостил: MV28jam, 14 Сентября 2009

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

    • Перепишите кто-нибудь так, как это должно быть. Очень хочется посмотреть
      Ответить
      • function block_select_from(block,type) {
        var types = ['all', 'blogs', 'articles'];
        for(var i=0, t; t=types[i]; i++) {
        document.getElementById('block_'+block+' _'+t).style.display = (t==type?'':'none');
        }
        }
        Ответить
        • фак, форматирование засралось
          Ответить
        • здесь лучше смотрелось бы
          for (var key in types){
          }
          Ответить
          • массивы опасно итерировать через for, читай литературу
            Ответить
      • function block_select_from(block,type) {
        $(['all', 'blogs', 'articles']).each(function () {
        $('#block_'+block+'_'+this).css('display ', (t==type ? 'block' : 'none'));
        });
        }
        Ответить
    • document.getElementById('block_'+block+' _all').style.display = (type=='all') ? '' : 'none';
      document.getElementById('block_'+block+' _blogs').style.display = (type=='blogs') ? '' : 'none';
      document.getElementById('block_'+block+' _articles').style.display = (type=='articles') ? '' : 'none';
      Ответить
      • лох
        Ответить
        • первый вариант грамотнее, второй - более читабельный. Почему лох, обоснуй?
          Ответить
          • тройной копипаст никогда не был более читабельным, плюс копипаст названий блоков - легко сделать ошибку.
            Ответить

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