За последние 24 часа нас посетил 33601 программист и 1760 роботов. Сейчас ищут 1019 программистов ...

JS + php помогите исправить код

Тема в разделе "PHP для новичков", создана пользователем Izmaylov, 20 сен 2016.

  1. Izmaylov

    Izmaylov Новичок

    С нами с:
    3 май 2016
    Сообщения:
    9
    Симпатии:
    0
    Здравствуйте всем! На моей странице есть примерно такой код, который подключает блоки с фильтрацией продуктов. В зависимости от того какой тип продукта выбрал пользователь, должен подключиться определенный блок с фильтрацией( 'par-sh' или 'par-bt' или 'par-sm').
    PHP:
    1. <div id="par-sh">
    2. <?php
    3. include("include/param-sh.php");
    4. ?>
    5. </div>
    6.  
    7. <div id="par-bt">
    8. <?php
    9. include("include/param-bt.php");
    10. ?>
    11. </div>
    12.  
    13. <div id="par-sm">
    14. <?php
    15. include("include/param-sm.php");
    16. ?>
    17. </div>
    На данный момент я реализовал это с помощью JS, в котором ничего не понимаю, с помощью такого простого кода:
    Код (Javascript):
    1. $("#par-sh").hide();
    2. $("#par-bt").hide();
    3. $("#par-sm").hide();
    4. $("#par-tg").hide();
    ,который просто скрывает все блоки фильтрации при загрузке страницы, а затем по клику на определенную кнопку, показывает необходимый блок:
    Код (Javascript):
    1. $("#parsm").click(function(){
    2. $("#par-sh").hide();
    3. $("#par-bt").hide();
    4. $("#par-sm").show();
    5. $("#par-tg").hide();
    6. $.cookie('select_tip,'par_sm');
    7. });
    Первая проблема в том, что при загрузке страницы на какие то доли секунды все блоки с фильтрацией накладываются друг на друга, а только потом остается какой то один блок, что не очень красиво, хоть и терпимо. А основная проблема в том, что, загружаются все блоки с фильтрацией сразу, просто некоторые из них скрыты, а это наверное влияет на скорость загрузки страницы. Подскажите пожалуйста, как можно сделать это все более грамотно? К примеру, что бы подгружался только необходимый блок фильтрации. ( Желательно без кардинальных изменений существующей структуры кода страницы )
     
    #1 Izmaylov, 20 сен 2016
    Последнее редактирование: 20 сен 2016
  2. rewuxiin

    rewuxiin Активный пользователь

    С нами с:
    17 апр 2012
    Сообщения:
    611
    Симпатии:
    87
    скрывай при помощи css или сразу в шаблоне диву добавляй hidden.

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