首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js制作导航点击效果代码

当然,以下是一个使用JavaScript制作的简单导航点击效果的示例代码。这个效果会在点击导航项时,高亮显示当前选中的项,并且平滑滚动到对应的页面部分。

HTML结构

代码语言:txt
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Navigation Click Effect</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <nav>
        <ul>
            <li><a href="#section1" class="nav-link">Section 1</a></li>
            <li><a href="#section2" class="nav-link">Section 2</a></li>
            <li><a href="#section3" class="nav-link">Section 3</a></li>
        </ul>
    </nav>
    <section id="section1">Section 1 Content</section>
    <section id="section2">Section 2 Content</section>
    <section id="section3">Section 3 Content</section>
    <script src="script.js"></script>
</body>
</html>

CSS样式

代码语言:txt
复制
/* styles.css */
body {
    font-family: Arial, sans-serif;
}

nav {
    position: fixed;
    top: 0;
    width: 100%;
    background-color: #333;
}

nav ul {
    list-style-type: none;
    padding: 0;
    display: flex;
    justify-content: center;
}

nav ul li {
    margin: 0 10px;
}

nav ul li a {
    color: white;
    text-decoration: none;
    padding: 10px 20px;
    transition: background-color 0.3s;
}

nav ul li a.active {
    background-color: #555;
}

section {
    height: 100vh;
    padding-top: 60px; /* To avoid content being hidden behind the fixed navbar */
}

#section1 { background-color: #f4f4f4; }
#section2 { background-color: #e4e4e4; }
#section3 { background-color: #d4d4d4; }

JavaScript代码

代码语言:txt
复制
// script.js
document.addEventListener('DOMContentLoaded', function() {
    const navLinks = document.querySelectorAll('.nav-link');

    navLinks.forEach(link => {
        link.addEventListener('click', function(event) {
            event.preventDefault(); // Prevent the default anchor behavior

            // Remove active class from all links
            navLinks.forEach(link => link.classList.remove('active'));

            // Add active class to the clicked link
            this.classList.add('active');

            // Scroll to the section
            const targetId = this.getAttribute('href');
            const targetSection = document.querySelector(targetId);
            targetSection.scrollIntoView({ behavior: 'smooth' });
        });
    });
});

解释

  1. HTML结构:创建了一个简单的导航栏和三个部分(section),每个部分都有一个唯一的ID。
  2. CSS样式:定义了导航栏的样式,并设置了点击时的高亮效果。
  3. JavaScript代码
    • 监听所有导航链接的点击事件。
    • 阻止默认的锚点跳转行为。
    • 移除所有链接的active类,然后为点击的链接添加active类。
    • 使用scrollIntoView方法平滑滚动到对应的页面部分。

这个示例展示了如何使用JavaScript来实现一个简单的导航点击效果,包括高亮显示当前选中的导航项和平滑滚动到对应的页面部分。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JS-制作网页特效——选项卡效果(水平,点击)

//总结:这个样式的思维很重要,以前刚开始做,想的都是,怎么获取到自己点击的是哪一个li,然后给他以对应的div样式。后来发现难点是,怎么找到另外两个没有被点击的li和他们对应的div。...className了,而要改成style,上一行的className就要删掉 } //j循环的外边 this.className = "on";//this代指tapLi[i],当前所点击的...,给他添加类名 tapDiv[this.index].className = "";//this.index=tapLi[i].index,具体作用下边alert做调试得知,就是得到一个对应你点击的...这样,给当前被点击li对应的div空类名,去除掉j循环中添加在他身上的hide枷锁,他就得意重见天日了! //这里最后把className忘记了,害得我调试了半天。...--清爽js代码如下--> 1 2 window.onload = function() { 3

3.5K90
  • 使用原生JS实现鼠标点击爱心效果 !!!

    使用原生JS,实现鼠标点击爱心效果 !!! 引言: 在很多时候我们都需要实现鼠标点击出现图案或者文字这样的效果,对于用户而言,这样的体验是很极致的。其实实现起来也很简单,下面一起来学习一下吧。...文末附上完整代码,可以复制关键部分直接使用到自己的页面上 实现效果 ?...js中直接操作动画帧的样式比较复杂,所以采用定时器实现相同的功能,将标签的top值逐渐减小,这样标签就会实现上升的效果 4....文字逐渐变淡效果 @keyframes remove { 100% { opacity: 0; } } 逐渐变淡的效果是通过css3动画来实现的很简单,动画是通过js来给元素绑定的...一下就是完整代码,可以更改数组中的内容来实现自己的效果 <!

    4.9K30

    【CSS】课程网站头部制作 ② ( 导航栏测量 | 导航栏编写 | 代码示例 )

    文章目录 一、 导航栏测量 1、 左侧边界 2、 文本测量 3、 底部边框测量 二、 导航栏代码编写 1、 HTML 标签结构 2、 CSS 样式 3、最终显示效果 三、 完整代码 1、 HTML...标签结构 2、 CSS 样式 一、 导航栏测量 ---- 1、 左侧边界 导航栏 最左侧位置 , 距离 logo 盒子 有 70 像素 , 考虑到设置外边距 , 这里将 logo 盒子 与 导航栏之间的距离设置成...工具 , 点击文字内容 ; 在文字工具中 , 会显示文字大小 18 像素 , 点击右侧的颜色 , 还会弹出 " 拾色器 ( 文本颜色 ) " 对话框 , 其中显示了文本颜色 #050505 ;...3、 底部边框测量 底部边框 2 像素 , 使用吸管工具吸取颜色 , 可得到颜色值 #00a4ff ; 二、 导航栏代码编写 ---- 1、 HTML 标签结构 导航栏使用 无序列表 实现 ,...: 2px solid #00a4ff; } 3、最终显示效果 此时 , 鼠标经过 导航栏的 首页 选项 ; 三、 完整代码 ---- 1、 HTML 标签结构 完整代码 : <!

    3.9K20

    ZBLOG模板制作导航栏当前分类和页面高亮显示效果

    从用户体验上看,我们在点击网站首页的时候在导航栏中首页标签是和其他分类有差异的,比如字体加粗、颜色不同,这个就是所谓的导航栏高亮效果。...比如我们点击某个分类的时候,在当前分类或者当前分类的中的文章,这个分类就显示高亮的。在这里老蒋整理到ZBLOG PHP程序高亮导航的效果,以前都没有做过,这不要精细化,还是需要做的。...这是目前没有加入高亮的代码导航部分。这里我要去参考老白同学的整理文章(http://www.yzktw.com.cn/post/105.html)。...这个时候我们可以看到导航是有变动的,我们后面就是需要加入样式。比如高亮是对.navbar li添加了.active 最后ID中的monavber是默认和JS一致的,如果我们修改也需要修改JS里的。...本文出处:老蒋部落 » ZBLOG模板制作导航栏当前分类和页面高亮显示效果 | 欢迎分享

    1K50

    轮播图效果,不再局限于JS制作!

    HTML5学堂(码匠):网页的轮播图一直都是个比较精美的制作,同时也是用户体验较佳的效果。在开发工程师进行制作的时候往往会选择使用JS来书写,由此不禁会问,难道真的只有使用JS才能制作轮播图吗?...其精练的代码把我们从复杂的JS制作中解放出来,如下的轮播图效果即是纯CSS3制作的。 ? 2....,最终实现出纯CSS3制作的轮播图效果。...让开发者能够不必考虑逻辑性复杂的JS代码,为效果层面的开发减少了难度。 最后,这种CSS3实现的轮播图,缺点也是不言而喻的。...因为点击轮换和自动轮换两者只能选其一,只不过自动轮换可以大量的使用在移动端开发,算是一个不错的选择。

    5K60

    jquery导航栏点击及页面跳转后对应栏目添加选中效果

    导航栏点击添加选中样式是比较好实现的,点击后添加一个 .active 再给它设置一个样式就可以了。...padding: 0 20px;         }         li.active{             background: rgba(0,0,0,.2);         } js...                $("li").eq(index).addClass("active");             });         });     }); 实现效果...但是一般页面的导航栏都是需要跳转页面的,上面的方法只在当前页面有效,跳转后就失效了。 要实现跳转后,对应的栏目自动添加选中效果,可以用下面的方法。...js代码:     $(document).ready(function () {         $(".navbar-nav>li a").each(function () {

    4.5K00

    html制作图片幻灯片效果代码,【JS+CSS3】实现带预览图幻灯片效果的示例代码

    一、前期准备 1.1 案例分析 适用场景:单例布局 1.2 方法论 V视图 HTML+CSS+调试 C js实现控制流程 D数据 优化扩展 二、代码 结构 h2 caption h3 caption 样式...切换控制按钮 .ctrl_i_active 0、修改VIEW ->Template(关键字替换),增加Template id 图片区 { {h2}}} { {h3}}} 按钮区 下面是重点 JS...window.onload = function(){ addSliders(); switchSliders(1); setTimeout(function(){ movePictures(); },100) } 效果图...给图片直接加top:50%;会有BUG,没作用,原因可能是没给height固定高度~~给了固定高度就好了 但问题又来了,2、给固定高度后,按钮组不能自适应宽度 … 会被挤到第二排去 …… 以上这篇【JS...+CSS3】实现带预览图幻灯片效果的示例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

    5.3K50
    领券