2

Есть скрипт с кодом jquery, который добавляет свойство .activEv (подчеркивание синей линией), выбранной странице (ajax-контент). Строкой loadContent(0); подключается контент по-умолчанию. Как подключить свойство из таблицы стилей к контенту по умолчанию? Пробовал не получилось...

loadContent(0).addClass('activeEv');
loadContent(0).loadClass('activEv');

Файл CSS:

.activeEv{
border-bottom: 2px solid #0a88d3;
color: #0a88d3;
}    

Скрипт в коде:

       <div class="container ">
           <ul class="nav navbar-nav centermenu">
             <li  class="loadBtn"  value="page1"><a name="top">page1 </a></li>
             <li  class="loadBtn"  value="page2"><a>page2 </a></li>
             <li  class="loadBtn"  value="page3"><a>page3 </a></li>
             <li  class="loadBtn"  value="page4"><a>page4 </a></li>
             <li  class="loadBtn"  value="page5"><a>page5 </a></li>
           </ul>              
        </div>

     <script>
            $(document).ready(function(){
                var tpls = ['page1.blade.php', 'page2.blade.php', 'page3.blade.php', 'page4.blade.php', 'page5.blade.php'];

                $('.loadBtn').click(function(){

                    $('.loadBtn').removeClass('activeEv');
                    $(this).addClass('activeEv');

                    loadContent($(this).index());
                });
                loadContent(0).addClass('activeEv');   //loadClass('activEv');

                function loadContent(index) {
                    if (!tpls[index]) return;
                    $.ajax({
                        url: tpls[index],
                        cache: false,
                        success: function(html){
                            $("#content").html(html);
                        }
                    });
                }

            });
        </script>

1 Answers1

3

Вы вызываете .addClass() на результат loadContent() который undefined, потому что функция ничего не возвращает. Вам нужно вызывать .addClass() в AJAX колбеке. Для этого можно сам колбек передавать в loadContent():

loadContent(0, function(html) {
  $('#content').html(html);
  $('.loadBtn').eq(0).addClass('activeEv');
});

function loadContent(index, callback) {
  if (!tpls[index]) return;
  $.ajax({
    url: tpls[index],
    cache: false,
    success: callback || null
  });
}
Alex Zhulin
  • 1,900