1
votes

When scrolling down after a div the nav-bar gets a new background-color (the nav-bar should be fixed at the top, I use navbar-fixed-top in Bootstrap).

I've tried some tutorials but I didn't succeed.

I have two menus #scroll-menu and #main-menu. I wnat to show #main-menu when open a browser. and when I scroll down the #main-menu do not show. the #scroll-menu be show.

html

<div class="container-fluid">
    <nav class="navbar navbar-expand-lg navbar-light bg-light" id="main-menu">
        <div class="container-fluid">
            <a class="navbar-brand" href="#">لوگو</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                    <li class="nav-item">
                        <a class="nav-link" href="#">محصولات</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">خدمات</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">راهکارها</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">درباره ما</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">شبکه دانش</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-blue position-fixed w-100 d-none" id="scroll-menu">
    <div class="container-fluid">
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContentFixed" aria-controls="navbarSupportedContentFixed" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContentFixed">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0 w-100">
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="far fa-lightbulb"></i>
                        <span>معرفی</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="fas fa-dolly"></i>
                        <span>انبار و حسابداری انبار</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="far fa-building"></i>
                        <span>دارایی های ثابت</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="fas fa-tasks"></i>
                        <span>صورت های مالی اساسی</span>
                    </a>
                </li>
            </ul>
        </div>
    </div>
</nav>

script

window.onscroll = function() {
    scrollFunction();
};

function scrollFunction() {
    if (document.body.scrollTop > 700 || document.documentElement.scrollTop > 700) {
        document.getElementById('scroll-menu').classList.add("d-none");
        document.getElementById('main-menu').classList.remove("d-block");
    } else {
        document.getElementById('scroll-menu').classList.add("d-block");
        document.getElementById('main-menu').classList.remove("d-none");
    }
}    window.onscroll = function() {
    scrollFunction();
};

function scrollFunction() {
    if (document.body.scrollTop > 700 || document.documentElement.scrollTop > 700) {
        document.getElementById('scroll-menu').classList.add("d-none");
        document.getElementById('main-menu').classList.remove("d-block");
    } else {
        document.getElementById('scroll-menu').classList.add("d-block");
        document.getElementById('main-menu').classList.remove("d-none");
    }
}
1

1 Answers

0
votes

modified html

<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet">
<body style="height:2000px">
<div class="container-fluid">
    <nav class="navbar navbar-expand-lg navbar-light bg-light position-fixed d-block" id="main-menu">
        <div class="container-fluid">
            <a class="navbar-brand" href="#">لوگو</a>
            <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarSupportedContent">
                <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                    <li class="nav-item">
                        <a class="nav-link" href="#">محصولات</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">خدمات</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">راهکارها</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">درباره ما</a>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link" href="#">شبکه دانش</a>
                    </li>
                </ul>
            </div>
        </div>
    </nav>
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark text-white w-100 text-dark d-none" id="scroll-menu">
    <div class="container-fluid">
        <a class="navbar-brand" style="font-weight:400" href="#">لوگو</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContentFixed" aria-controls="navbarSupportedContentFixed" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarSupportedContentFixed">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0 w-100">
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="far fa-lightbulb"></i>
                        <span>معرفی</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="fas fa-dolly"></i>
                        <span>انبار و حسابداری انبار</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="far fa-building"></i>
                        <span>دارایی های ثابت</span>
                    </a>
                </li>
                <li class="nav-item col-auto">
                    <a class="nav-link" href="#">
                        <i class="fas fa-tasks"></i>
                        <span>صورت های مالی اساسی</span>
                    </a>
                </li>
            </ul>
        </div>
    </div>
</nav>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
<script
  src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>

modified javascript

window.onscroll = function() {
    scrollFunction();
};

function scrollFunction() {
    if (document.body.scrollTop > 700 || document.documentElement.scrollTop > 700) {
        document.getElementById('scroll-menu').classList.add("d-block");
        document.getElementById('scroll-menu').classList.remove("d-none");
        document.getElementById('scroll-menu').classList.add("position-fixed");
        
        document.getElementById('main-menu').classList.add("d-none");
        document.getElementById('main-menu').classList.remove("d-block");
        document.getElementById('main-menu').classList.remove("position-fixed");
    } else {
        document.getElementById('scroll-menu').classList.remove("d-block");
        document.getElementById('scroll-menu').classList.add("d-none");
        document.getElementById('scroll-menu').classList.remove("position-fixed");
        
        document.getElementById('main-menu').classList.remove("d-none");
        document.getElementById('main-menu').classList.add("d-block");
        document.getElementById('main-menu').classList.add("position-fixed");
    }
}