2013-09-07 2 views
0

왜 이것이 작동하지 않는지 파악하는 데 어려움을 겪고 있습니다. 어떤 이유로 If 문이 일치하는 항목 이상에서 실행됩니다. 내 사이드 ​​바의 각 섹션을 통해 섹션 제목의 이름이 현재 URL의 일부에 포함되어 있는지 확인하려고합니다. 따라서 해당 섹션이 활성 상태임을 알 수 있습니다.URL 변수 일치

내 구조가이 같은 설정이기 때문에, 정확한 URL과 일치 할 수 없습니다

<div class="row"> 
    // inside each section (row) div is a section title link, ie: /section-link/ 
    // and the section navigation links, ie: /section-link/page-link 
</div> 
<div class="row"> 
... 
</div> 
and so on. 

나는/섹션 - 링크/현재 URL의 일부인 경우 볼 필요가 그렇다면 섹션을 설정 해당 섹션 제목/링크가 활성 섹션이됩니다. 그렇게하면 섹션 내의 제목과 모든 링크가 일치를 트리거하고 섹션이 활성화되도록 설정할 수 있습니다.

내 모든 알림은 정확한 데이터를 반환합니다.

/* active sidebar section */ 
     $("#sidebar .row").each(function(){ 
      var currentSection = $(this); 
      var sectionTitle = $(this).find("h1 a").text(); 
      //alert(sectionTitle); 

      var sectionTitleSlug = sectionTitle.toLowerCase(); 
      var sectionTitleSlug = sectionTitleSlug.replace(/[^\w ]+/g,''); 
      var sectionTitleSlug = sectionTitleSlug.replace(/ +/g,'-'); 
      //alert(sectionTitleSlug); 

      if(window.location.pathname.indexOf(sectionTitleSlug) > -1) { 
       //alert(sectionTitleSlug); 
       $(currentSection).addClass("activeSection"); 
       var activeSectionIndex = $(".activeSection").index(); 
       $(".accordion").accordion("option", "active", activeSectionIndex); 
      }; 
     }); 

은 어떤 통찰력 감사하겠습니다 ~

업데이트 :! 나는 또한 if(window.location.href.indexOf(sectionTitleSlug) > -1)

+0

다른 섹션에 대한 세 번째 경고가 발생하면 해당 섹션의 슬러그 또한 위치 경로의 일부이므로 'window.location.pathname'의 실제 값을 확인 했습니까? –

+0

각각에 대한 링크는 섹션 1)/생체 분석/섹션 2)/전임상 서비스/섹션 3)/임상 서비스/.... 경로 확인을위한 경고는 모든 것이 일치해야한다는 것을 보여줍니다. – VUELA

+0

'sectionTitle'과'location.pathname'의 예제 쌍을 줄 수 있습니까? –

답변

0

확인을 시도 - 나는

개정 내가 그것을 :) 것 같아 if 문

if(window.location.href.indexOf("/"+ sectionTitleSlug +"/") > -1) { 
    // 
}; 

이렇게하면/sectionTitleSlug/(그래서 그것은 텍스트뿐만 아니라 특정 디렉토리를 찾아냅니다).