js实现网页定位导航功能


Posted in Javascript onMarch 07, 2017

本文实例为大家分享了js网页定位导航的具体代码,供大家参考,具体内容如下

一个循环判断当前滚动到的位置,另一个循环遍历导航条判断其id是否与滚动到的位置相同

效果如图:

js实现网页定位导航功能

实现代码:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>地狗购物网--网页定位导航效果</title>
  <style type="text/css">
    *{
      margin: 0;
      padding: 0;
    }
    body{
      font-size: 12px;
      line-height: 1.7;
    }
    li{
      list-style: none;
    }
    #content{
      width: 800px;
      margin: 0 auto;
      padding: 20px;
    }
    #content h1{
      color: #0088bb;
    }
    #content .item{
      padding: 20px;
      margin-bottom: 20px;
      border: 1px dotted #0088bb;
    }
    #content .item h2{
      font-size: 12px;
      font-weight: bold;
      border-bottom: 2px solid #0088bb;
      margin-bottom: 10px;
    }
    #content .item li{
      display: inline;
      margin-left:10px ;
    }
    #content .item li a img{
      width: 230px;
      height: 230px;
      border: none;
    }
    #menu{
      position: fixed;
      top: 100px;
      left: 50%;
      margin-left: 400px;
      width: 80px;
    }
    #menu ul li a{
      display: block;
      margin: 5px 0;
      font-size: 14px;
      font-weight: bold;
      color: #333;
      width: 80px;
      height: 50px;
      line-height: 50px;
      text-align: center;
      text-decoration: none;
    }
    #menu ul li a:hover{
      color: #fff;
      background: #0088bb;
    }
    #menu ul li .current{
      color: #fff;
      background: #0088bb;
    }
  </style>
  <script type="text/javascript">
    window.onload = function(){
      window.onscroll=function(){
        var top = document.documentElement.scrollTop || document.body.scrollTop;
        var menus = document.getElementById("menu").getElementsByTagName("a");
        var items=document.getElementById("content").getElementsByClassName("item");

        var currentId="";
        for(var i=0;i<items.length;i++){
          var _item=items[i];
          var _itemTop = _item.offsetTop;
          if(top>_itemTop - 200){
            currentId=_item.id;
          }else{
            break;
          }
        }
        if(currentId!=""){
          //给正确的menu下的a元素class赋值
          for(var j=0;j<menus.length;j++){
            var _menu=menus[j];
            var _href=_menu.href.split("#");//因为只通过href获取的链接为一长串链接,需要通过#分成数组
            if(_href[_href.length-1]!=currentId){
              _menu.className = "";
            }else{
              _menu.className = " current";
            }
          }
        }
      }
    }
  </script>
</head>
<body>
<div id="menu">
  <ul>
    <li><a href="#item1" class="current">1F 男装</a></li>
    <li><a href="#item2">2F 女装</a></li>
    <li><a href="#item3">3F 美妆</a></li>
    <li><a href="#item4">4F 数码</a></li>
    <li><a href="#item5">5F 母婴</a></li>
  </ul>
</div>
<div id="content">
  <h1>地狗购物网</h1>
  <div id="item1" class="item">
    <h2>1F 男装</h2>
    <ul>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/1F.jpg" alt=""/></a></li>
    </ul>
  </div>
  <div id="item2" class="item">
    <h2>2F 女装</h2>
    <ul>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/2F.jpg" alt=""/></a></li>
    </ul>
  </div>
  <div id="item3" class="item">
    <h2>3F 美妆</h2>
    <ul>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/3F.jpg" alt=""/></a></li>
    </ul>
  </div>
  <div id="item4" class="item">
    <h2>4F 数码</h2>
    <ul>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
      <li><a href="#"><img src="img/4F.png" alt=""/></a></li>
    </ul>
  </div>
  <div id="item5" class="item">
    <h2>5F 母婴</h2>
    <ul>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
      <li><a href="#"><img src="img/5F.jpg" alt=""/></a></li>
    </ul>
  </div>
</div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 网站换肤功能实现代码
Nov 02 Javascript
JavaScript将XML转成JSON的方法
Mar 12 Javascript
javascript中slice(),splice(),split(),substring(),substr()使用方法
Mar 13 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
Nov 26 Javascript
全面解析Bootstrap排版使用方法(标题)
Nov 30 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
vuejs如何配置less
Apr 25 Javascript
JavaScript 中的 this 简单规则
Sep 19 Javascript
微信公众号获取用户地理位置并列出附近的门店的示例代码
Jul 25 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
JavaScript组合设计模式--改进引入案例分析
May 23 Javascript
使用jquery实现轮播图效果
Jan 02 jQuery
Vuejs 组件——props数据传递的实例代码
Mar 07 #Javascript
js实现百度登录框鼠标拖拽效果
Mar 07 #Javascript
Vue获取DOM元素样式和样式更改示例
Mar 07 #Javascript
原生JavaScript实现Tooltip浮动提示框特效
Mar 07 #Javascript
基于JavaScript实现图片剪切效果
Mar 07 #Javascript
详解Vue2 无限级分类(添加,删除,修改)
Mar 07 #Javascript
js放到head中失效的原因与解决方法
Mar 07 #Javascript
You might like
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
PHP daddslashes 使用方法介绍
2012/10/26 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
PHP开发注意事项总结
2015/02/04 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
js常用排序实现代码
2010/12/28 Javascript
javascript页面上使用动态时间具体实现
2014/03/18 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
使用jQuery的toggle()方法对HTML标签进行显示、隐藏的方法(示例)
2016/09/01 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
浅谈jquery中ajax跨域提交的时候会有2次请求的问题
2017/11/10 jQuery
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
微信小程序webview组件交互,内联h5页面并网页实现微信支付实现解析
2019/08/16 Javascript
javascript json对象小技巧之键名作为变量用法分析
2019/11/11 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
浅析JavaScript 函数柯里化
2020/09/08 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
Python最长公共子串算法实例
2015/03/07 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
pybind11和numpy进行交互的方法
2019/07/04 Python
基于python框架Scrapy爬取自己的博客内容过程详解
2019/08/05 Python
Python requests.post方法中data与json参数区别详解
2020/04/30 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Python+unittest+DDT实现数据驱动测试
2020/11/30 Python
CSS3 Flex 弹性布局实例代码详解
2018/11/01 HTML / CSS
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
建筑工程技术应届生自荐信
2013/09/27 职场文书
国际会议邀请函范文
2014/01/16 职场文书
优秀团支部事迹材料
2014/02/08 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
总经理人事任命书
2014/06/05 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
大一新生检讨书
2014/10/29 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书