jQuery 导航自动跟随滚动的实现代码

具体代码如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="front" value="${frontPath}${pageContext.request.contextPath}/f"/>
<c:set var="ajaxUrl" value="${frontPath}${pageContext.request.contextPath}"/>
<c:set var="ctxStatic" value="${pageContext.request.contextPath}/static"/>
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8"/>
  <meta name="format-detection" content="telephone=no,email=no,adress=no"/>
  <meta name="viewport"
     content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"/>
  <meta name="apple-mobile-web-app-capable" content="yes"/>
  <meta name="apple-mobile-web-app-status-bar-style" content="black"/>
  <title>simpleNavFollowing</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    html, body {
      position: relative;
      height: 100%;
    }
    #nav {
      position: fixed;
      top: 50%;
      left: 20px;
      margin-top: -140px;
      display: inline-block;
      vertical-align: middle;
    }
    #nav a{
      display: block;
      position: relative;
      width: 98px;
      height: 28px;
      line-height: 28px;
      text-align: center;
      background-color: #eee;
      color: #333;
      border-left: 2px solid transparent;
    }
    #nav a:hover{
      width: 98px;
      border-left: 2px solid #4b59ff;
    }
    #nav a p{
      position: relative;
      z-index: 3;
    }
    #nav a.active{
      background-color: #4b59ff;
      color: #fff;
    }
    #main {
      max-width: 1200px;
      margin: 0 auto;
    }
    #main div {
      height: 300px;
      background-color: #efefef;
      border-top: 1px solid #ccc;
    }
    #main div:nth-child(2n) {
      background-color: #fafafa;
    }
  </style>
  <script src="http://www.jq22.com/jquery/jquery-1.10.2.js"></script>
  <script>
    $(function () {
      var nav = $("#nav");
      var mainPage = $(".mainPage");
      var mainTopArr = new Array();
      for(var i=0;i<mainPage.length;i++){
        var top = mainPage.eq(i).offset().top;
        mainTopArr.push(top);
      }
      $(window).scroll(function(){
        var scrollTop = $(this).scrollTop();
        var k;
        for(var i=0;i<mainTopArr.length;i++){
          if(scrollTop>=mainTopArr[i]){
            k=i;
          }
        }
        nav.find("a").eq(k).addClass("active").siblings().removeClass("active");
      });
      nav.find("a[href^='#']").click(function(e){
        e.preventDefault();
        $('html, body').animate({scrollTop: $(this.hash).offset().top}, 400);
      });
    });
  </script>
</head>
<body>
<div id="nav">
  <a href="#page1" rel="external nofollow" class="active">page1</a>
  <a href="#page2" rel="external nofollow" >page2</a>
  <a href="#page3" rel="external nofollow" >page3</a>
  <a href="#page4" rel="external nofollow" >page4</a>
  <a href="#page5" rel="external nofollow" >page5</a>
  <a href="#page6" rel="external nofollow" >page6</a>
  <a href="#page7" rel="external nofollow" >page7</a>
  <a href="#page8" rel="external nofollow" >page8</a>
  <a href="#page9" rel="external nofollow" >page9</a>
  <a href="#page10" rel="external nofollow" >page10</a>
</div>
<div id="main">
  <div class="mainPage" id="page1">page1</div>
  <div class="mainPage" id="page2" style="height: 400px;">page2</div>
  <div class="mainPage" id="page3">page3</div>
  <div class="mainPage" id="page4">page4</div>
  <div class="mainPage" id="page5" style="height: 300px;">page5</div>
  <div class="mainPage" id="page6">page6</div>
  <div class="mainPage" id="page7">page7</div>
  <div class="mainPage" id="page8">page8</div>
  <div class="mainPage" id="page9" style="height: 900px;">page9</div>
  <div class="mainPage" id="page10">page10</div>
  <div class="mainPage" id="page11" style="height: 900px;">page11</div>
</div>
</body>
</html> 

总结

以上所述是小编给大家介绍的jQuery 导航自动跟随滚动的实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • jQuery 顶部导航跟随滚动条滚动固定浮动在顶部

      复制代码 代码如下: <section> <article class="left"> <p> </p> <ul> <li><a href="http://freejs.net/article_jquerywenzi_149.html" title="Ajax 动态加载内容">Ajax 动态加载内容</a></li> <li>

  • jQuery实现div浮动层跟随页面滚动效果

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv=&qu

  • jquery背景跟随鼠标滑动导航

    本文实例讲述了支持背景图片上下滑动的竖向jQuery菜单导航特效代码,分享给大家供大家参考.具体如下: 运行效果截图如下: 具体代码如下 <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="gb2312"> <title>左边跟随鼠标滑动导航</title> <meta name="keywords"

  • jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jquery.tex

  • 博客侧边栏模块跟随滚动条滑动固定效果的实现方法(js+jquery等)

    当一个页面内容很长的时候,侧边栏栏目可能显得太短,当窗口滑动到靠下的位置,则侧边即失去了展示内容的机会.很多新闻资讯类网站如新浪.网易.CSDN等,会在边栏的右下角以固定的小弹窗形式,以提供更多的内容展示方式,但这并不适合博客和web2.0风格的网站. 现在很多的独立博客和网站如人人网等,都使用了让侧边栏模块随滚动条滑动而位置固定的效果.就是当一个页面很长的时候,设定侧栏内容会跟随滚动条,这种效果适用于评论较多.内容较长的网站.志文工作室调研了几种类似功能的实现方法,摘录之以供参考. 参考一.提

  • Jquery实现侧边栏跟随滚动条固定(兼容IE6)

    部分购物网站用这个功能放购物车或商品分类导航,使产品页面很长的时候,侧边栏能始终固定发挥它应有的作用,有的网站用这个功能来边栏的广告. jQuery代码: 复制代码 代码如下: var rollSet = $('#Roll');// 检查对象,#sidebar-tab是要随滚动条固定的ID,可根据需要更改var offset = rollSet.offset();$(window).scroll(function () { // 检查对象的顶部是否在游览器可见的范围内 var scrollTop

  • jQuery 导航自动跟随滚动的实现代码

    具体代码如下所示: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <c:set var="front"

  • 微信小程序tab切换可滑动切换导航栏跟随滚动实现代码

    简介 看到今日头条小程序页面可以滑动切换,而且tab导航条也会跟着滚动,点击tab导航,页面滑动,切导航栏也会跟着滚动,就想着要怎么实现这个功能 像商城类商品类目如果做成左右滑动切换类目用户体验应该会好很多,我这里只是一个小demo,没有怎么去考虑数据的问题,主要是想着去实现这么个功能,有可能后期引入数据后会出现问题,欢迎提出互相讨论 解决过程 1.在想要实现这个问题的时候找了不少别人的博客看,主体页面布局方面是比较统一的,tab导航栏使用<scroll-view>标签,内容使用<swi

  • jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)

    本文实例讲述了jQuery实现鼠标跟随提示层效果代码.分享给大家供大家参考,具体如下: 运行效果截图如下: Web网站有不少需要用到tip提示层的地方,结合jquery的jquery.cluetip.js ,可以实现本地字符或ajax异步调用显示提示层.如以上购评分明细提示.(优势:宽度需要调用页加载时定义,高度auto , 且三角指定图标能根据显示层的大小位置来调用它的位置,达到醒目直观的效果) jquery.cluetip.css /* global */ #cluetip-close im

  • javascript跟随滚动效果插件代码(javascript Follow Plugin)

    Js 跟随滚动效果插件支持定义多个跟随ID,采用css fixed属性,不支持ie6,兼容其他主流浏览器.支持定义滚动到底部的最小高度,不会覆盖底部页面大小resize后,插件会自动重置参数=======Js 跟随滚动效果插件1.支持定义多个跟随ID,采用css fixed属性,不支持ie6,兼容其他主流浏览器.2.支持定义滚动到底部的最小高度,不会覆盖底部3.页面大小resize后,插件会自动重置参数=======使用方法 代码如下  复制代码 代码如下: <script type="t

  • JQuery实现文字无缝滚动效果示例代码(Marquee插件)

    推荐一个JQuery的无缝文字滚动效果,同时也可以滚动图片,也叫做跑马灯效果. 此jquery插件,依托jquery库,能实现各种滚动效果,且让HTML代码符合W3C标准. 使用方法如下: 1.加载javascript. <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src=&quo

  • jQuery导航条固定定位效果实例代码

    实现效果图: 向下滑动时,导航栏固定 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } img{ display: block; margin: 0 auto; } img#search

  • jQuery图片轮播滚动切换代码分享

    本文实例讲述了jQuery图片轮播滚动切换特效.分享给大家供大家参考.具体如下: jQuery图片轮播滚动切换代码是一款简单的jquery四张图片轮播滚动切换效果代码,实现过程很简单. 运行效果图:-------------------查看效果 下载源码------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. 在head区域引入CSS样式: <link rel="stylesheet" type="text/css" h

  • jquery实现表格无缝滚动

    本文实例为大家分享了jquery实现表格无缝滚动的具体代码,供大家参考,具体内容如下 css部分我是用的弹性布局 *{ margin:0; padding:0; } ul,li{ list-style:none; } .tableBox{ width:500px; height:520px; background:#e8e8e8; margin:0 auto; overflow:hidden; } .slide-title{ height:2.5rem; line-height:2.5rem;

  • jQuery实现动态向上滚动

    本文实例为大家分享了jQuery实现动态向上滚动的具体代码,供大家参考,具体内容如下 总结:概括滚动的新闻.字幕.图片:两个最核心功能 : 1."永动"(infinite) 2.循环 js实现"永动"(infinite) 的实现方法离不开定时器setInterval(),也就是说每过一段时间都要执行一次某个函数,从而实现无休止滚动: 而循环的实现:appendTo()或者append,三目运算符(或者 if else),insertBefore()或者prepend

  • jQuery实现图片跟随效果

    本文实例为大家分享了jQuery实现图片跟随效果的具体代码,供大家参考,具体内容如下 实现效果 要实现的功能: * 鼠标进来,显示大图片: * 鼠标出去,隐藏大图片: * 鼠标在大图片里边动,大图片跟着动. 代码 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title he

随机推荐