内容在页面中位置导航

html:

 <body>
     <div id="j_subject">
       <!-- 头部/上一部分 -->
      <div class="nav">nav</div>
      <!-- 头部/上一部分结束 -->

      <!-- 版块 -->
       <div class="box1 cont-box">第一部分</div>
       <div class="box2 cont-box">第二部分</div>
       <div class="box3 cont-box">第三部分</div>
       <div class="box4 cont-box">第四部分</div>
       <div class="box5 cont-box">第五部分</div>
       <!-- 板块结束 -->

       <!-- 结尾/下一部分 -->
        <div class="box6">结尾</div>
        <!-- 结尾结束/下一部分结束 -->

        <!-- 位置定位导航开始 -->
       <div class="j_nav" id="j_nav">
         <ul>
                <li class="nav-list"><p class="p1">第一部分按钮</p></li>
                <li class="nav-list"><p class="p1">第二部分按钮</p></li>
                <li class="nav-list"><p class="p1">第三部分按钮</p></li>
                <li class="nav-list"><p class="p1">第四部分按钮</p></li>
                <li class="nav-list"><p class="p1">第五部分按钮</p></li>
                <li class="li-ju back clearfix">
                    <div class="arrow fl songti">
                        <em>▲</em>
                        <i>▲</i>
                    </div>
                    <p class="p1 fl">TOP</p>
                </li>
        </ul>
        </div>
        <!-- 位置定位导航结束 -->
        </div>
    </body>

css:

.nav{background: blue;height: 500px;width: 100%;font-size: 24px;padding-left: 200px;}
.box1{height: 500px;padding-left: 200px;background: #fff;font-size: 24px;}
.box2{height: 500px;padding-left: 200px;background: pink;font-size: 24px;}
.box3{height: 500px;padding-left: 200px;background: red;font-size: 24px;}
.box4{height: 500px;padding-left: 200px;background: #fff;font-size: 24px;}
.box5{height: 500px;padding-left: 200px;background: green;font-size: 24px;}
.box6{height: 500px;padding-left: 200px;background: black;font-size: 24px;}
.j_nav{width: 130px;height: 245px;border-radius: 10px;border:1px solid #fff;background: #fff;position: absolute;right: 20px;top: 350px;box-shadow: 3px 2px 2px rgba(0,126,196,0.75);}
.j_nav li{height: 40px;line-height: 40px;text-align: center;cursor:pointer;}
.j_nav li .p1 {display: inline-block;width: 100%;color: #007ed4;font-size: 18px;}
.j_nav li .p1:hover{color: #ff1975;}
.j_nav .on .p1 {color: #ff1975;}
.j_nav .li-ju{background-image: none;}
.j_nav .li-ju:hover em{color:#ff1975;}
.j_nav .li-ju:hover i{color:#fff;}
.nav-on {position: fixed;right: 20px;top:11%;}
.j_nav .arrow {font-size: 16px;margin-left: 35px;width: 16px;margin-right: 5px;}
.j_nav .arrow em{color:#007ed4;}
.j_nav .arrow i{color:#fff;position: relative;top: -36px;}
.j_nav .back .p1 {width: 20px;}

js:

$(function(){
    var subject =$(‘#j_subject‘);
    var navigation = $(‘#j_nav‘);           //导航
    var nav = subject.find(‘.nav-list‘);    //所有按钮
    var conBox = subject.find(‘.cont-box‘);   //模块
    var navTop = navigation.offset().top;  //导航相对于浏览器视口到高度
    var sw = screen.width;   // 显示屏幕宽度
    nav.on(‘click‘,function(){
        var t = $(this);
        var ts = t.siblings(‘li‘);
        t.addClass(‘on‘);
        ts.removeClass(‘on‘);
        var tindex = t.index();
        var section = conBox.eq(tindex);
        var stop = section.offset().top;
        $(‘body,html‘).animate({scrollTop:stop},800);
    });
    $(‘.back‘).on(‘click‘,function(){
        $(‘body,html‘).animate({scrollTop:0},800);
    });
    $(window).scroll(function () {
        var w = $(window).scrollTop();   //滚动条的垂直偏移
        if (_util.check.isIE6) {
                return;
            };
            if (w >= 300) {
                    navigationion.addClass(‘nav-on‘);
                } else {
                    navigation.removeClass(‘nav-on‘);
                }
        $(‘.cont-box‘).each(function(a,b) {
            var ctop = $(this).offset().top;
            if (w>ctop-20) {
                navigation.find(‘li‘).removeClass(‘on‘);
                navigation.find(‘li‘).eq(a).addClass(‘on‘);
            }
        });
    }).trigger("scroll");
});
时间: 2024-10-13 12:00:46

内容在页面中位置导航的相关文章

页面中的导航监测

我在格斗人网 (www.helpqy.com) 中使用了下面的导航监测技术. 大家在京东或者其它一些网站上可以看到,随着页面的滚动,右侧的导航条的焦点也不断变化,使焦点所指示的导航项与页面内容相对应,这采用了导航监测技术. 格斗人网的整个CSS基于Bootstrap.css,Bootstrap.css有现成的导航监测解决方案,但需要做如下工作: 1. 需要在页面中引入最新版的jquery.js,bootstrap.css和bootstrap.js三个文件.其中bootstrap.css和boot

js控制公共模板中,不同页面中的导航选中效果-判断当前的url

用js的做法也很多.比较推荐的方法是判断当前的url,然后根据url在nav中的位置,来对nav中的某个导航增加选中样式,代码如下: <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <style> .act

使用选择器在页面中插入内容

我不知道是否有其他人能看见我写的内容,由于我是一个渣渣,很多内容都不知道,所以将这些很简单的东西都记录下来,希望不小心点进来的大神们,能吐槽一下我,呃指点一下我.和我一样的小白们希望能相互学习,谢谢了. 在css中可以使用before伪元素选择器 after伪元素选择器在页面中插入内容,而插入的内容由content属性来定义     一:使用选择器来插入文字 使用选择器来插入文字,在插入的内容是文字时要在文字的两旁加入单引号或者双引号. 为了使插入的内容美观,可以在选择器中加入添加的内容的样式

在子页面中操作模板页的内容

Button btn=(Button)this.Master.FindControl("Button1"); btn.Visible=false; 模板页中要注意html控件的url问题 ResolveClientUrl:获得相对路径 ResolveUrl:相对于跟目录的路径 在子页面中操作模板页的内容,布布扣,bubuko.com

在php中,如何将一个页面中的标签,替换为用户想输出的内容

前言:釜山行,暴露人性, ———————————————————————————————————————————————————————————————————————————— 今天说一个最简单的例子,就是在php中如何读取另一个html页面中的标签,并显示用户想输出的内容. 首先建立一个页面,命名为:test.html如下图所示: <!doctype html> <html lang="en"> <head> <meta charset=&

js在新页面中返回到上一页浏览的历史位置

在微信浏览器中浏览页面时,在当前页面中当我们将页面往下滚动到某一个位置时,可能我们就会点击某个链接而页面跳转到了另外一个页面,而当我们又返回到上一个页面时我们会发现那个页面还停留在我们之前浏览的位置,很方便我们接着往下浏览页面上其他的信息,这种效果大大提升了用户的体验度,提升了网站的逼格.今天,我就把实现这种效果的原理和代码分享给大家,方便大家的开发使用. 原理 1.用户滚动页面时,记录滚动条距离页面顶部的距离scrollTop:2.将记录的值保存到cookie:3.在返回到上一页时,再将保存到

初学js---获取鼠标在页面中的位置

图片跟着鼠标移动: 1.获取鼠标在页面中的位置:(pageX/pageY获取鼠标在页面中的位置) 2.通过id或者其他方法找到图片,然后让图片的位置变为和鼠标位置相同,注意要先让图片脱离文档,即设置position:absolute. 完整代码: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>获取鼠标的位置</t

ajax中向页面中指定位置添加信息

$.ajax({  type : "POST",  beforeSend : function() {   showLoader("数据加载中...");// 展示等待效果  },  complete : function() {   //与后台通讯(查询是否存在有效保单)    getComPlugin(successCallback,"com.sinosoft.hna.lpcx.LPSQJYSrarch",'searchSQJY',dates

js中全局变量修改后的值不生效【jsp页面中各个js中内容的加载顺序】

一个老项目中,一个jsp文件中有很多个js文件, 现在要在页面上的一个地方判断一个状态,因为一直找不到原来是在哪里修改的那个状态,所以决定不找了,而是在比较靠前引入的一个js中定义一个全局变量,然后在这个js的 $(function(){}} 方法中通过一个ajax向后台获取正确的状态,然后在所有的js都加载完之后根据全局变量的值的状态来修改页面上的逻辑. 但是发现,全局变量被一个外部js修改赋值后,我在jsp页面的最下面居然取不到修改过的值. 请教同事才发现原来原因是 任何一个js文件中的 $