js实现页面滚动切换导航栏/点击导航栏跳转到指定位置

得意时要看淡,失意时要看开。不论得意失意,切莫大意;不论成功失败,切莫止步。志得意满时,需要的是淡然,给自己留一条退路;失意落魄时,需要的是泰然,给自己觅一条出路js实现页面滚动切换导航栏/点击导航栏跳转到指定位置,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

最近一直在弄页面的事情,对页面方面的知识又巩固了一下。这次的内容如题,大家对代码有疑问或者是有更好的方法欢迎留言!

js部分 

       //标题对象
      var title = document.getElementById(“title”);  
      //菜单对象
      var menu = document.getElementById(“menu”);  
      //正文对象

      var content = document.getElementById(“content”);  

       //当前标题据顶部高度

      var titleTop = title.offsetTop; 

      //当前标题高度

      var titleHeight = title.offsetHeight; 

      //对象子节点

      var contentChild = content.children;  

      //菜单子节点

      var menuChild = menu.children;

//导航栏随页面滚动而水平切换

    window.onscroll = function(){

      var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;   

      for(var i=0;i<menuChild.length;i++){  

        if( scrollTop + titleHeight >= contentChild[i].offsetTop){  

            for(var j=0;j<menuChild.length;j++){  

                menuChild[j].className = “”;  

            }  

            menuChild[i].className = “cur”;  

       }  

    }  

  };

//点击菜单跳转到指定位置
 function menuChange(menuType){
    //定义id 
    var menuTypeId;
    switch(menuType){
      case 0:
         menuTypeId = “#home”;
         break; 
      case 1:
         menuTypeId =”#tech”;
         break; 
      case 2:
         menuTypeId =”#innovate”;
         break; 
      case 3:
         menuTypeId =”#gain”;
         break; 
      case 4:
         menuTypeId =”#economics”;
         break; 
      case 5:
         menuTypeId =”#link”;
         break; 
      default:
         menuTypeId =”#home”;
         break; 
    }
    $(“html, body”).animate({
      scrollTop: $(menuTypeId).offset().top- titleHeight}, {duration: 500,easing: “swing”
    });//scrollTop:指定相关模块回到指定位置(该位置要去掉菜单导航栏高度)。

  };

页面部分:

<ul class=”menu” id=”menu”>
        <li class=”cur”><div  οnclick=”menuChange(0)”>KL介绍</div></li>
        <li><div οnclick=”menuChange(1)”>技术属性</div></li>
        <li><div οnclick=”menuChange(2)”>项目创新</div></li>
        <li><div οnclick=”menuChange(3)”>盈利模式</div></li>
                        <li><div οnclick=”menuChange(4)”>经济模式</div></li>
                        <li><div οnclick=”menuChange(5)”>联系我们</div></li>

 </ul>

<div>

    <div id=”#home”></div>
    <div id=”#tech”></div>
    <div id=”#innovate”></div>
    <div id=”#gain”></div>
    <div id=”#economics”></div>

    <div id=”#link”></div>

</div>

    <div id=”#home”></div>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/158212.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!