search
HomeWeb Front-endFront-end Q&AHow to implement navigation menu in javascript

JavaScript is a front-end programming language that is widely used in web development because of its lightweight, efficient, easy to learn and use characteristics. In web design, navigation menu is an essential component that makes the content of the website more organized and accessible. In this article, we will introduce how to implement a simple navigation menu using JavaScript.

  1. HTML

First, we need to create a container in HTML to store the navigation menu. This container can be a ul element or a div element. In this article, we will use the ul element to implement a navigation menu.



  1. CSS

Next, we need to style the navigation menu. This includes menu item color, size, margins, etc. In this article, we need to set the background color of menu items on mouseover as well as the style of the currently selected menu item.

#nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

#nav li {
    float: left;
    margin: 5px;
}

#nav a {
    display: block;
    padding: 5px;
    color: #333;
    text-decoration: none;
    background-color: #eee;
}

#nav a:hover {
    background-color: #999;
    color: #fff;
}

#nav .current a {
    background-color: #999;
    color: #fff;
}

In the above code, we define the style of the navigation menu under #nav, and the style of the menu items under #nav li and #nav a. We use the float attribute to arrange the menu items horizontally, and the margin attribute to set the margins of the menu items. When the mouse hovers over the menu item, we change its background color to gray and the text color to white; and when the menu item is selected, we change its background color to black and the text color to White.

  1. JavaScript

Finally, we need to use JavaScript to implement the click event of the menu item. We need to set the currently selected menu item to the .active style and remove the .active style from the previously selected menu item. We can use the document.getElementById() method to get the menu items, and then use the classList.add() and classList.remove() methods to add or remove styles.

var nav = document.getElementById('nav');
var links = nav.getElementsByTagName('a');

for (var i = 0; i <p>In the above code, we first obtain the parent element #nav of the menu item and all menu items a, and then use a for loop to add a click event to each menu item. When a menu item is clicked, we first use a for loop to remove the .active style of the previously selected menu item, and then add the .active style of the currently selected menu item. </p><ol start="4"><li>Complete code</li></ol><p>Finally, combine the HTML, CSS and JavaScript code to get the complete navigation menu implementation code. </p><pre class="brush:php;toolbar:false">
#nav {     list-style: none;     margin: 0;     padding: 0; } #nav li {     float: left;     margin: 5px; } #nav a {     display: block;     padding: 5px;     color: #333;     text-decoration: none;     background-color: #eee; } #nav a:hover {     background-color: #999;     color: #fff; } #nav .current a {     background-color: #999;     color: #fff; } var nav = document.getElementById('nav'); var links = nav.getElementsByTagName('a'); for (var i = 0; i 

The above is the complete code for using JavaScript to implement the navigation menu. You can apply it to your own website to help users better browse the website content.

The above is the detailed content of How to implement navigation menu in javascript. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are the limitations of React?What are the limitations of React?May 02, 2025 am 12:26 AM

React'slimitationsinclude:1)asteeplearningcurveduetoitsvastecosystem,2)SEOchallengeswithclient-siderendering,3)potentialperformanceissuesinlargeapplications,4)complexstatemanagementasappsgrow,and5)theneedtokeepupwithitsrapidevolution.Thesefactorsshou

React's Learning Curve: Challenges for New DevelopersReact's Learning Curve: Challenges for New DevelopersMay 02, 2025 am 12:24 AM

Reactischallengingforbeginnersduetoitssteeplearningcurveandparadigmshifttocomponent-basedarchitecture.1)Startwithofficialdocumentationforasolidfoundation.2)UnderstandJSXandhowtoembedJavaScriptwithinit.3)Learntousefunctionalcomponentswithhooksforstate

Generating Stable and Unique Keys for Dynamic Lists in ReactGenerating Stable and Unique Keys for Dynamic Lists in ReactMay 02, 2025 am 12:22 AM

ThecorechallengeingeneratingstableanduniquekeysfordynamiclistsinReactisensuringconsistentidentifiersacrossre-rendersforefficientDOMupdates.1)Usenaturalkeyswhenpossible,astheyarereliableifuniqueandstable.2)Generatesynthetickeysbasedonmultipleattribute

JavaScript Fatigue: Staying Current with React and Its ToolsJavaScript Fatigue: Staying Current with React and Its ToolsMay 02, 2025 am 12:19 AM

JavaScriptfatigueinReactismanageablewithstrategieslikejust-in-timelearningandcuratedinformationsources.1)Learnwhatyouneedwhenyouneedit,focusingonprojectrelevance.2)FollowkeyblogsliketheofficialReactblogandengagewithcommunitieslikeReactifluxonDiscordt

Testing Components That Use the useState() HookTesting Components That Use the useState() HookMay 02, 2025 am 12:13 AM

TotestReactcomponentsusingtheuseStatehook,useJestandReactTestingLibrarytosimulateinteractionsandverifystatechangesintheUI.1)Renderthecomponentandcheckinitialstate.2)Simulateuserinteractionslikeclicksorformsubmissions.3)Verifytheupdatedstatereflectsin

Keys in React: A Deep Dive into Performance Optimization TechniquesKeys in React: A Deep Dive into Performance Optimization TechniquesMay 01, 2025 am 12:25 AM

KeysinReactarecrucialforoptimizingperformancebyaidinginefficientlistupdates.1)Usekeystoidentifyandtracklistelements.2)Avoidusingarrayindicesaskeystopreventperformanceissues.3)Choosestableidentifierslikeitem.idtomaintaincomponentstateandimproveperform

What are keys in React?What are keys in React?May 01, 2025 am 12:25 AM

Reactkeysareuniqueidentifiersusedwhenrenderingliststoimprovereconciliationefficiency.1)TheyhelpReacttrackchangesinlistitems,2)usingstableanduniqueidentifierslikeitemIDsisrecommended,3)avoidusingarrayindicesaskeystopreventissueswithreordering,and4)ens

The Importance of Unique Keys in React: Avoiding Common PitfallsThe Importance of Unique Keys in React: Avoiding Common PitfallsMay 01, 2025 am 12:19 AM

UniquekeysarecrucialinReactforoptimizingrenderingandmaintainingcomponentstateintegrity.1)Useanaturaluniqueidentifierfromyourdataifavailable.2)Ifnonaturalidentifierexists,generateauniquekeyusingalibrarylikeuuid.3)Avoidusingarrayindicesaskeys,especiall

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

MantisBT

MantisBT

Mantis is an easy-to-deploy web-based defect tracking tool designed to aid in product defect tracking. It requires PHP, MySQL and a web server. Check out our demo and hosting services.