2016-02-27 5 views
0

HTMLphp does not read jquery indexOf?

<nav class="main-navi"> 
     <ul> 
      <li> 
       <a href="index.html" > 
        Home 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="portfolio.html"> 
        Portfolio 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="about.html"> 
        About 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 

      <li> 
       <a href="service.html"> 
        services 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="blog.html"> 
        Blog 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="contact.html"> 
        contacts 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
     </ul> 
     <em id="showHideMenu" class="show-hide-menu fa fa-bars" href="#"></em> 
    </nav> 

сценарий

<script> 
    var loc = window.location.pathname; 
    $('.main-navi ul li a').each(function() { 
     var status = loc.indexOf($(this).attr('href')) > -1; 
     $(this).toggleClass('active', status); 
    }); 
</script> 

так без PHP свою работу совершенной, но после того, как я поставил PHP и HREF изменения, как это он не будет работать потому, что я не знаю

HTML

<nav class="main-navi"> 
     <ul> 
      <li> 
       <a href="?r=site/index" > 
        Home 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="?r=site/fotoportfolio"> 
        Portfolio 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="?r=site/fotoabout"> 
        About 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 

      <li> 
       <a href="?r=site/fotoservice"> 
        services 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="?r=site/fotoblog"> 
        Blog 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
      <li> 
       <a href="?r=site/fotocontact"> 
        contacts 
        <span class="dot"></span> 
        <span class="corner"></span> 
       </a> 
      </li> 
     </ul> 
     <em id="showHideMenu" class="show-hide-menu fa fa-bars" href="#"></em> 
    </nav> 

для сценария

$this->registerJs(' 
    var loc = window.location.pathname; 
    $(".main-navi ul li a").each(function() { 
    var status = loc.indexOf($(this).attr("href")) > -1; 
    $(this).toggleClass("active", status); 
});') 

класс не активен? есть ли какая-нибудь ошибка? im с использованием схемы Yii2 btw.and я использую этот код в main.php, поэтому navbar будет зацикливаться на другой странице

+0

В последнем блоке кода отсутствует символ '' '(см., Как заканчивается красный цвет). Это ошибка копирования-пасты? –

+0

извините отсутствие copypaste, я есть) честно, но все еще не работает. Я использую этот код в main.php, поэтому navbar будет зацикливаться на другой странице – vandi

ответ

0

У вас есть обратные строки. Вы должны проверить следующее:

$(document).ready(function() { 
    var loc = window.location.pathname; 
    $(".main-navi ul li a").each(function() { 
     var href = $(this).attr("href"); 
     var status = href.indexOf(loc) > -1; 
     $(this).toggleClass("active", status); 
    } 
}); 
+0

уже проверить его тоже сэр. но ничего не влияет. это потому, что я поставил его в основном? и когда я ставлю с php, я использую ваш код с самого начала – vandi

+1

попробую отредактированный ответ. Это обеспечит выполнение кода после загрузки страницы, иначе ваши теги могут еще не существовать в документе. Если это не работает, вероятно, стоит проверить, что говорит console.log (status). – timhysniu

+0

плохо попробуй свой код сегодня, сэр, быстрый вопрос, если изменить файл имени на hompage.php, но все же href to? R = site/index. это причина? – vandi