1. 程式人生 > >js實現頁面滾動切換導航欄/點選導航欄跳轉到指定位置

js實現頁面滾動切換導航欄/點選導航欄跳轉到指定位置

最近一直在弄頁面的事情,對頁面方面的知識又鞏固了一下。這次的內容如題,大家對程式碼有疑問或者是有更好的方法歡迎留言!

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  onclick="menuChange(0)">KL介紹</div></li>
        <li><div onclick="menuChange(1)">技術屬性</div></li>
        <li><div onclick="menuChange(2)">專案創新</div></li>
        <li><div onclick="menuChange(3)">盈利模式</div></li>
                        <li><div onclick="menuChange(4)">經濟模式</div></li>
                        <li><div onclick="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>

相關推薦

js實現頁面滾動切換導航/導航指定位置

最近一直在弄頁面的事情,對頁面方面的知識又鞏固了一下。這次的內容如題,大家對程式碼有疑問或者是有更好的方法歡迎留言!js部分        //標題物件      var title = document.getElementById("title");        //選

在servlet中實現彈出提示框,確認後其他頁面

PrintWriter out = response.getWriter();如果成功彈出登陸成功並跳到下一個頁面out.print("<script>alert('登入成功!');window.location.href='跳到登陸成功後的頁面'</sc

用wow.js實現頁面滾動時觸發animate.css動畫特效

偏移量 true fin 滾動 cdn lock src 代碼 splay     很高興在2017/10/14發表了自己的第一個博客隨筆,不管你們怎麽想,我自己覺得逼格瞬間高了起來。哈哈哈,哈撒尅。 有時候項目需要一些動畫來提升用戶體驗,吸引用戶註意力。這時wow是個

滾動檢視(UIScrollView)的用法和實現頁面滾動切換

1,當圖片尺寸超過螢幕時,使用UIScrollView可以實現滾動條檢視,即手指觸控滾動螢幕方便瀏覽整個頁面。 1 2 3 4 5 6 let scrollView=UIScrollView() scrollView.fram

微信小程式——商品分類到該商品的商品詳情頁面(已實現

        首先,我不得不感慨下,慕課網上“7七月”老師的課真的很強大,此處放連結https://coding.imooc.com/learn/list/75.html。        我只是學習到了一半就開

web端 - 返回上一步,返回,上個頁面 JS

1.方法一: <script language="javascript" type="text/javascript"> window.location.href="login.jsp?backurl="+window.location.href; </script>

原生js實現淘寶輪播圖,支援左右和(滑鼠多快都不會亂)。

用transform是因為這個比left的效能好。 這個是演示網址(不要直接存下來哦):https://shalltears.github.io/test-sowing-map/ 。 這個是完整程式碼下載地址,覺得還行的下載支援一下:https://download.csdn.ne

如何實現在當前jsp頁面中通過按鈕來到上一個次訪問的頁面

1.問題來源場景介紹: 列表頁展示: 新增專案頁面展示: 在專案列表展示頁面中,點選”新增“按鈕,可以跳轉到新建專案頁面.當新增頁面只能從指定某一個列表展示頁面中跳轉過來時,只需要在返回按鈕對應的超連結地址中寫明專案列表展示頁的訪問路徑既可實現跳轉

jsbutton按鈕到另一個新頁面

點選按鈕怎麼跳轉到另外一個頁面呢?我們在網站製作中可能是需要的,因為有時我們需要做這樣的效果,尤其是將按鈕做成一個圖片,而點選圖片要跳轉到新的頁面時,怎麼做到呢? 這樣的效果可以:onclick="window.location='新頁面'" 來實現。 1.在原來的窗體中直接跳轉用 程式碼如下 window

js獲取頁面元素和滑鼠的位置

前端一些頁面效果實現時,往往需要操作大量的DOM物件,即要在某個特定的位置顯示某個元素。如:在滑鼠點選的位置顯示,就要獲取當前滑鼠的位置。 1 獲取滑鼠點選位置 2 獲取頁面元素位置 3 clientHeight、offsetHeight、scro

js實現快捷鍵繫結按鈕事件

document.onkeydown= function (e) { var theEvent = window.event || e;  var code = theEvent.keyCode || theEvent.which;  if (code == 13) {

組裝原有控制元件實現橫向滾動的時間選擇器,可滑動 ,初始狀態在指定位置

簡介 前段時間,產品設計了一個橫向的滾動的時間選擇器,由於工作很急,也沒時間來自定義view,而且目前開發的專案很老了,不支援V7的包,所以我不能用recyclerview。我就將就之前的GridView和HorizontalScrollView,組裝了一哈就可以了。本

JQuery怎麼實現頁面重新整理後保留滑鼠addclass的樣式

原文地址:https://segmentfault.com/q/1010000000095459  比較好的辦法是使用url傳引數,然後根據引數判斷是否有必要顯示class 但是更好的辦法是下面這段JS $('ul.main-menu li a').each(func

外部連結App指定頁面SingleTask模式

1.上一篇講到如何點選外部連結跳轉app的方法,經過測試,當開啟App的時候,點選連結時候會重新開啟一個新的App程序,如果你想從原來的開啟APP跳進去,那麼使用SingleTask模式配合android:taskAffinity屬性一起使用.    如果單獨使用Single

讓wordpress日誌標題到外部連結實現

    Wordpress實現點選文章標題跳轉到外部連結的方法,有時候出於某些目的的需要,需要在wordpress部落格中實現點選文章標題不直接跳轉轉到文章頁面,而跳轉到外部連結的效果。不過WordP

最簡單的錨定位 a標籤頁面指定位置

<div id="aaa"> <p>錨點定位的id和我不一樣</p> </div> <div id="bbb"> <p>錨

Swiper(三):自定義事件swiper指定頁面

選擇哪個按鈕就會跳到指定的頁面,這樣我們就可以自己來定義swiper分頁器的功能了。 下面的例子可以應用在點選地圖上的使用者頭像,則滾動到到對應使用者的資訊輪播圖 swiper的slideTo方法,swiper.slideTo(index,speed,runCal

在app某個按鈕到瀏覽器開啟某個頁面

1.iOS  NSString *urlstr = @"www.baidu.com"; [[UIApplication sharedApplication] openURL:[NSURL URLWi

微信公眾號OAuth 選單按鈕 頁面授權 獲取openid

流程: 使用者點選選單按鈕 —–> 傳送頁面授權請求到微信後臺 —–>得到code傳送到 我們伺服器後臺的url —–> 將code引數傳送到微信後臺獲取使用者的openid返回伺服器上的頁面(也可以直接獲取使用者頭像等基本資訊。。需

如何連結直接到app store指定應用下載頁面

NSString *str = [NSString stringWithFormat:@"http://itunes.apple.com/us/app/id%d", 436957167]; [[UIApplication sharedApplication] openURL