jquery로 부트 스트랩 4의 navbar를 클릭 한 후 링크의 활성 클래스를 변경해야합니다. 하지만 작동하지 않습니다. jquery에있는 코드는 다른 링크와 완벽하게 작동하지만 navbar에서 작동하지 않습니다. 뭐가 문제 야?navbar에서 클릭 후 활성 클래스를 변경할 수 없습니다 jquery로 부트 스트랩 4
Navbar의 코드 : 클릭 후 활성 클래스를 변경
<header class="d-flex main-header">
<div class="container header-container">
<nav class="navbar navbar-toggleable-sm navbar-inverse main-navigation fixed-top">
<div class="d-flex align-items-center content-nav-wrapper col-10 offset-1">
<h1 class="mr-auto"><a href="index.html"><img src="images/site_logo.png" alt="logo"></a></h1>
<button class="navbar-toggler navbar-toggler-right offcanvas-toggle menu-button align-self-center" type="button"
data-toggle="offcanvas"
data-target="#js-bootstrap-offcanvas" aria-controls="navbarCollapse" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="navbar-offcanvas navbar-offcanvas-touch navbar-offcanvas-right menu"
id="js-bootstrap-offcanvas">
<ul class="navbar-nav ml-md-auto">
<li class="nav-item">
<a class="nav-link" href="#about">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#portfolio">Portfolio</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#team">Team</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#contact">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
</div>
</header>
JQuery와 : 또한 내가 클릭 한 후 섹션에 부드러운 스크롤을위한 JQuery와 및 그 때의 링크 및 배경의 색상 변경이
$(document).ready(function() {
$(".navbar .navbar-nav li a").click(function() {
$(".navbar .navbar-nav li a").removeClass("active-nav-link");
$(this).addClass("active-nav-link");
});
});
사용자가 페이지를 섹션 중 하나로 스크롤합니다. 어쩌면의 문제 : 내가 말대꾸를 사용하고
jQuery(window).scroll(function(){
var $sections = $('section');
$sections.each(function(i,el){
var top = $(el).offset().top-100;
var bottom = top +$(el).height();
var scroll = $(window).scrollTop();
var id = $(el).attr('id');
if(scroll > top && scroll < bottom){
$('a.active-section-link').removeClass('active-section-link');
$('a[href="#'+id+'"]').addClass('active-section-link');
}
})
});
$("nav").on("click","a", function (event) {
event.preventDefault();
var id = $(this).attr('href'),
top = $(id).offset().top;
$('body,html').animate({scrollTop: top}, 800);
});
, 메뉴 바 및 링크에 대한 내 코드 :
.main-header {
.header-container {
width: inherit;
}
.menu {
overflow: hidden;
.nav-link {
color: #ffffff;
font-size: 1.2rem;
&:hover {
color: #2ecc71;
}
}
}
@media (min-width: 768px) {
.menu {
.active-section-link {
color: #2ecc71;
background-color: rgba(255, 255, 255, 0.2);
border-radius: 10px;
}
.active-nav-link {
color: #2ecc71;
}
}
}
작동하는 것 같습니다. 어떤 부분이 효과가 없습니까? – dferenc
navbar에서 링크를 클릭 한 후 다른 색상을 원하지만 필요한 색상으로 색상이 변경되지 않고 회색 인 부트 스트랩의 기본 색상으로 변경됩니다. – Belial
jquery 코드를 추가했습니다. – Belial