2016-11-16 5 views
0

작은 화면에 버튼을 표시하는 부트 스트랩의 고정 된 탐색 막대를 사용하고 버튼을 클릭하여 탐색 모음을 확장/축소합니다. 모든 일이 찾아냅니다. 내 링크가 동일한 페이지에서 대상으로 스크롤되기 때문에 navbar에서 링크를 클릭하면 축소판을 얻을 수 있습니다.js 스크롤을 사용하는 링크에서 데이터 토글 = "축소"

나는 toggle = "collapse"data-target = "# navbar" 을 추가하려고 시도했지만 navbar를 축소하지는 않았지만 nav 태그 div에서 내부적으로 p 태그를 시도 할 때 작동합니다.

필자는 목록 항목의 링크를 클릭하면 컨트롤이 JS로 이동하여 대상으로 스크롤하고 접히지 않습니다.

누구나 링크를 클릭하면 자동으로 navbar가 접히도록 할 수 있습니다.

<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
     <a class="navbar-brand" href="#"><img class="img-responsive" src="images/logo.png" alt="Logo of . . . " style="padding-top:5px; padding-bottom: 0px;"></a> 
    </div> 
    <div id="navbar" class="navbar-collapse collapse"> 
     <p data-toggle="collapse" data-target="#navbar">X </p> 
     <ul class="nav navbar-nav navbar-right bg-clr-blue"> 
      <li class="active" ><a href="#home"><i class="fa fa-home fa-2x fa-fw nav-icon" aria-hidden="true"></i> Home</a></li> 
      <li><a href="#about" data-toggle="collapse" data-target=".navbar-collapse.in"><i class="fa fa-users fa-2x nav-icon" aria-hidden="true"></i> About</a></li> 
      <li><a href="#services"><i class="fa fa-cog fa-2x fa-fw nav-icon" aria-hidden="true"></i> Services</a></li> 
      <li><a href="#services"><i class="fa fa-hand-peace-o fa-2x fa-fw nav-icon" aria-hidden="true"></i> Achievement </a></li> 
      <li><a href="#publications"><i class="fa fa-book fa-2x fa-fw nav-icon" aria-hidden="true"></i>Publications</a></li> 
      <li><a href="#album"><i class="fa fa-object-group fa-2x nav-icon" aria-hidden="true"></i> Albums</a></li> 
      <li><a href="#contact"><i class="fa fa-envelope-o fa-2x nav-icon" aria-hidden="true"></i> Contact Us</a></li> 

을 다음과 같이

내 코드는 다음과 부드러운 스크롤을 제어하는 ​​JS 기능은 내가 문제로 인해 스크롤 JS 스크롤 기능이 될 수 실현

$(function() { 
      $('a[href*="#"]:not([href="#"])').click(function() { 
      if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') && location.hostname == this.hostname) { 
       var target = $(this.hash); 

       target = target.length ? target : $('[name=' + this.hash.slice(1) +']'); 

       if (target.length) { 
        $('html, body').animate({ 
        scrollTop: target.offset().top - 80 
        }, 1000); 
       return false; 
       } 
      } 
      }); 
     }); 
+0

스 니펫 코드를 공유하십시오. –

+0

은 링크를 클릭 할 때 스크롤을 제어하는 ​​기능을 추가하십시오. – user21354

+0

이 질문을 지금 삭제해야합니까? – user21354

답변

0

를 해결 화면을 필수 섹션으로 이동하십시오.

대상 섹션으로 스크롤하는 것을 제어하는 ​​JS 함수의 마지막 줄에서 "return false"를 제거하면 이제는 정상적으로 작동합니다. 주괴 모음이 부드럽게 움직이지 않는 것처럼 보이지만 애니메이션을 느리게 만들 필요가있을 수 있습니다. .