2013-08-14 3 views
0

현재 앵커 태그의 하이라이트 navig ... 내가 다른 섹션과 단일 페이지 웹 사이트를 만들어 JQuery와 : 내가 혼란과 함께 물건을 넣을 수없는 무엇입니까

하지만 난 다른 하나 개의 섹션에서 갈 때 탐색 탭 scolling와 하이라이트를 변경하지 마십시오 ...

내가 인터넷에 빨간색 작동하지 않습니다 ... 누군가가 js, css 및 html 코드를 추가해야한다고 말해 줄 수 있습니까 (Waypoint 또는 Without)?

합니다 (index.html을의 신체 부위에서) 하이라이트를위한 HTML

<nav id="mainnav"> 
    <div class="container"> 
     <ul class="links"> 
     <li><a id="homenav" class="scroll" href="#homepage">About</a></li> 
     <li><a id="sensnav" class="scroll" href="#parallax1">Sensuality</a></li> 
     <li><a id="scennav" class="scroll" href="#parallax2">Scenes</a></li> 
     <li><a id="montnav" class="scroll" href="#parallax3">Montage</a></li> 
     <li><a id="celenav" class="scroll" href="#parallax4">Celebrities</a></li> 
     <li><a id="modenav" class="scroll" href="#parallax5">Mode</a></li> 
     <li><a id="portnav" class="scroll" href="#parallax6">Other Portraits</a></li> 
     <li><a id="objenav" class="scroll" href="#parallax7">Objects</a></li> 
     <li><a id="miscnav" class="scroll" href="#parallax8">Miscellaneous</a></li> 
     <li><a id="contnav" class="scroll" href="#contact">Contact</a></li> 
     <li><a id="morenav" class="scroll" href="#more">Links & More</a></li> 
     </ul> 
    </div> 
</nav> 

<section id="parallax1"> 
    <h1>Sensuality</h1> 
</section> 

JS를

<script> 
var main = main = $('#mainnav div ul'); 

$('.scroll').click(function(event) { 

    event.preventDefault(); 

    var full_url = this.href, 
     parts = full_url.split('#'), 
     trgt = parts[1], 
     target_offset = $('#'+trgt).offset(), 
     target_top = target_offset.top; 

    $('html, body').animate({scrollTop:target_top}, 500); 

    /* Remove active class on any li when an anchor is clicked */ 

    $('#mainnav div ul').children().removeClass(); 

    /* Add active class to clicked anchor's parent li */ 

    $(this).parent().addClass('active'); 

}); 
</script> 

CSS

nav { 
width: 100%; 
height: 50px; 
position: relative; 
z-index: 1000; 
background: rgba(26,30,39,0.7); 
opacity: 0; 
filter: alpha(opacity=0); 
} 

nav .container { 
width: 96%; 
} 

.links { 
height: 50px; 
display: table-cell; 
vertical-align: middle; 
} 

.links li { 
height: 50px; 
display: inline; 
margin: 0 15px 0 0; 
padding: 2px; 
} 

.links a { 
font-family: 'Yanone Kaffeesatz', sans-serif; 
font-size: 20px; 
color: #ffffff; 
text-decoration: none; 
text-transform: uppercase; 
} 

.links a:visited { 
color: #ffffff; 
} 

.links a:hover { 
color: #b0b825; 
} 

.links a.current { 
color: ffd200; 
} 

nav#mainnav li.active a { 
color: #ffd200; 
} 

당신은 여기 살고 볼 수 있습니다 http://photography.igorlaszlo.com

정확히 내가해야 할 일은, 내가 자바 스크립트에서 전문 아니에요 ...

미리 감사드립니다!

답변

1

내가 코드

$(document).ready(function(){ 
$("#top1").parent().addClass('active'); 
var main = main = $('#main ul'); 

$('.scroll').click(function(event) { 

    event.preventDefault(); 

    var full_url = this.href, 
     parts = full_url.split('#'), 
     trgt = parts[1], 
     target_offset = $('#'+trgt).offset(), 
     target_top = target_offset.top; 

    $('html, body').animate({scrollTop:target_top}, 500); 

    /* Remove active class on any li when an anchor is clicked */ 

    main.children().removeClass(); 

    /* Add active class to clicked anchor's parent li */ 

    $(this).parent().addClass('active'); 

}); 

    $(window).scroll(function(event) { 
    if($("#top").offset().top < $(window).scrollTop() + $(window).outerHeight()) { 
$("#top1").parent().addClass('active'); 
$("#middle1").parent().removeClass('active'); 
$("#bottom1").parent().removeClass('active');   
} 
if($("#middle").offset().top < $(window).scrollTop() + $(window).outerHeight()){ 
$("#middle1").parent().addClass('active'); 
$("#top1").parent().removeClass('active'); 
$("#bottom1").parent().removeClass('active'); 
} 
if($("#bottom").offset().top < $(window).scrollTop() + $(window).outerHeight()){ 
$("#bottom1").parent().addClass('active'); 
    $("#top1").parent().removeClass('active'); 
$("#middle1").parent().removeClass('active'); 
}  
}); 
}); 

에 당신의 HTML을 일부 변경 한이 시도 id 속성 여기

 <li><a href="#top" class="scroll" id="top1"></a></li> 
     <li><a href="#middle" class="scroll" id="middle1"></a></li> 
     <li><a href="#bottom" class="scroll" id="bottom1"></a></li> 

을 추가하여 다음과 같은 태그에 약간의 변화를 만든 jsfiddle 을하고있다 Demo

희망이 있으면 도움이됩니다.

+0

덕분에 많은 ... 지금 내가 떠나야하지만 난 오늘 저녁에 그것을 확인합니다! –

+0

괜찮습니다. 그것을 시도하고 대답하십시오. – SarathSprakash

+0

Sarath에게 고맙다. 당신이 제안한 것을 조사했다. 좋아요, 움직이기 시작합니다! :)하지만 내 웹 사이트 (www.igorlaszlo.com)에서 보면, 일부 메뉴 탭을 클릭하면 다른 것들이 강조 표시됩니다. 조금 더러워졌습니다 ... 주문의 중요성이 있습니까? 탭 추가/제거 활성 클래스? 또는 어떤 생각인지 문제가 무엇입니까? 여기에 코드를 복사 할 수 없으며 내 웹 사이트에서보기에 너무 친절 할 수 있습니다. 의견에 충분한 문자가 없습니다. [www.igorlaszlo.com] –

1

나는 나 자신에 대한 답을 줄지도 모른다. 어쩌면 누군가는 그것을 사용할 것이다. 마침내 나는 다음을 포함하는 해결책을 찾았다. 1) 네비게이션에 하이라이트 액티브 버튼과 3) 하이라이트는 마우스 휠 스크롤에서도 작동합니다!

여기 자습서를 찾을 수 있습니다 내 웹 페이지에 http://trevordavis.net/blog/jquery-one-page-navigation-plugin 및 데모를 여기에 : http://photography.igorlaszlo.com