滚动监听: bootstrap 的scrollspy

滚动监听

bootstrap 的scrollspy,需要借助.nav样式,活动的部分是加

.active类。本身导航没有position:fixed,需要自己加入

滚动监听。只有滚动和监听,只有默认锚点链接做调转,若想改变,只有自己写跳转方法--

阻止a标签跳转(不直接用锚点链接做跳转);而是用animate(scrollTop)跳转,scrollTop可以设置距顶端的距离.animate({scrollTop: });

html

<div id="menu">
    <div id="nav-awu">
        <ul class="nav">
<!--<li><a href="#cooperation">潮童</a></li>-->
<li><a href="#downJacket" onclick="return a_stop(‘#downJacket‘);" >羽绒</a></li>
            <li><a href="#cotton" onclick="return a_stop(‘#cotton‘);" >时尚棉服</a></li>
            <li><a href="#sweater" onclick="return a_stop(‘#sweater‘);" >毛衣</a></li>
            <li><a href="#trousers" onclick="return a_stop(‘#trousers‘);" >裤装</a></li>
            <li><a href="#shoes" onclick="return a_stop(‘#shoes‘);" >鞋履</a></li>
        </ul>
    </div>
</div>

css 重写样式

#menu ul.nav,
#menu ul.nav:hover{border: none; background: none;height: 50px; line-height: 50px;margin: 0; padding: 0;}

#menu ul.nav-tab,
#menu ul.nav-tab:hover{border: none; background: none;height:50px;  line-height: 50px;margin: 0; padding: 0}
#menu ul li {
display: inline-block;
width: 16%;
margin: 10px 2% 0;
height: 30px;
/*margin: 0;*/
padding: 0;
border: none;
text-align: center;
}

.nav > li > a {
/*position: relative;*/
display: block;
width: auto;
padding: 0; //默认情况下 padding有数值,需要设为0
}
#menu ul li a {
margin: 0;padding: 0;
height: 28px;
line-height: 28px;
font-size: 12px;
text-decoration: none;
color: #fff;
}

/*#menu ul li a:hover{ font-size:12px; text-decoration: none; color: #fff; border-bottom:2px solid #fefb00; }*/
//active类
#menu ul li.active > a,
#menu ul li.active > a:focus{
margin: 0;padding: 0;
height: 28px;
line-height: 28px;
border:none;
border-bottom: 2px solid #fefb00;
font-size: 12px;
text-decoration: none;
color: #fff;
background: none;
/*text-decoration: dashed;*/
}
.nav > li > a:hover, .nav > li > a:focus {
text-decoration: none;
background: none;
}

js

$(function () {
//导航监控
var fixWidth = ($(window).width() - $("#menu").width()) / 2;
var scroHeight = $("#menu").offset().top;
    $(window).scroll(function () {
    if ($(window).scrollTop() >= scroHeight) {
       $("#menu").css({
        "width": $("#banner").width(),
        "position": "fixed",
        "top": 0,
        "left": fixWidth
        });
       $("#box").css("margin-top","50px");
   }
   else {
      $("#menu").css({
        "position": "relative",
        "top": 0,
        "left": 0
      });
        $("#box").css("margin-top","0");
     }
   });
    $(‘body‘).scrollspy({target: ‘#menu‘, offset: 50});//offset是根据 多少的偏移的距离 来做监听
 });

function a_stop(attr){
 var isRel = $("#menu").css("position") == "relative";
 var fix = 50;
 $("html,body").animate({scrollTop:$(attr).offset().top - fix},10);
 return false;  //必须要
}

 1.阻止a标签跳转
参考 http://blog.csdn.net/awe5566/article/details/22583699
href="#downJacket"  锚点链接 必须写;

但又想阻止a标签跳转(阻止默认的滚动监听,好自己设置scrollTop),
onclick="return fales"
<a href="#downJacket" onclick="return a_stop(‘#downJacket‘);" >羽绒</a>
2.自己写跳转方法 :用animate({scrollTop:number) 做跳转
scrollTop

offset是根据 多少的偏移的距离 来做监听,offset一般和导航高度有关

时间: 2024-10-24 16:02:13

滚动监听: bootstrap 的scrollspy的相关文章

Bootstrap学习js插件篇之滚动监听

1.滚动监听 案例 滚动监听插件可以根据滚动条的位置自动更新所对应的导航标记.Bootstrap中文网左侧就是一个滚动监听的例子. 代码段: [html] view plaincopy <nav id="navbar-example2" class="navbar navbar-default navbar-static" role="navigation"> <div class="navbar-header&quo

bootstrap滚动监听

Bootstrap ScrollSpy(滚动监听)是bootstrap插件提供的一个非常有趣的功能.当页面空间有限的时候我们可以利用它来显示我们想要显示的内容 官方说的想要利用此功能需要引入以下文件: bootstrap/css/bootstrap.css    jquery.1.9.1.js    bootstrap.js    bootstrap-dropdown.js    bootstrap-scrollspy.js 不过经过测试 只需要前三个即可 以下是我测试的代码: <!DOCTYP

bootstrap的滚动监听

<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no"> <title>下拉菜

Bootstrap的js插件之滚动监听

data-spy="scroll"--向您想要监听的元素(通常是 body)添加滚动监听事件 . data-target=".navbar"--指明导航条为监听目标: data-offset="70"--计算滚动位置时相对于顶部的偏移量(像素数); <!DOCTYPE html> <html lang="zh_CN"> <head> <meta charset="UTF-8&

滚动监听(bootstrap)

1.05 腊八节   一直都想知道滚动监听是怎么做出来的,今天终于扒拉出来了,在使用的时候只要加上div定位就可以了... <head> <link rel="stylesheet" href="https://cdn.static.runoob.com/libs/bootstrap/3.3.7/css/bootstrap.min.css"> <script src="https://cdn.static.runoob.com

Bootstrap入门(二十六)JS插件3:滚动监听

很多时候我们在浏览一些网页的时候,导航条会根据我们浏览网页的进度而发生不同的变化,这种就是滚动监听. 你的顶栏导航,添加data-spy="scroll"到您想要刺探(最典型的是这将是该元素<body>).然后添加data-target任何引导的父元素的ID或类属性.nav的组件. 我们来写一个基本的实例 先引入CSS文件 <link href="bootstrap.min.css" rel="stylesheet"> 我

bootstap 滚动监听

---首先结合源代码介绍官网的说明 ---然后总结了使用滚动监听的几个步骤 ---最后给出一个简单的例子 ---关键的一点:整体有点零散和乱七八糟,辛苦你的思维和眼睛了,呵呵 ---------------------------------------------------------------------------------------------------------- 1. Scrollspy currently requires the use of a Bootstrap

滚动监听

滚动监听插件是用来根据滚动条所处的位置来自动更新导航项的.如下所示,滚动导航条下面的区域并关注导航项的变化.下拉菜单中的条目也会自动高亮显示. 用法 依赖 Bootstrap 的导航组件 滚动监听插件依赖 Bootstrap 的导航组件 用于高亮显示当前激活的链接. body { position: relative; } 通过 data 属性调用 <body data-spy="scroll" data-target=".navbar-example">

【bootstrapV3】移动端和PC端的 滚动监听

1.本代码适用于 bootstrap V3 的 页面滚动监听 2.效果: 3.代码: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1,