<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<style>
body {
position: relative;
counter-reset: a;
}
.affix {
top: 20px;
z-index: 9999 !important;
}
div.col-sm-9 div {
height: 550px;
font-size: 28px;
}
.point {
width: 30px;
height: 2px;
background: tomato;
transition: width 1s ease;
padding: 0px;
margin-bottom: 25px;
z-index: 1;
}
.active {
background: blue !important;
width: 50px;
color: #000;
}
.point a:before {
content: "";
display: block;
font-size: 14px;
counter-increment: a;
content: "0" counter(a);
position: absolute;
top: 0px;
left: 5px;
transition: all .3s ease;
z-index: 0;
}
#section1 {
color: #fff;
background-color: #1E88E5;
}
#section2 {
color: #fff;
background-color: #673ab7;
}
#section3 {
color: #fff;
background-color: #ff9800;
}
#section41 {
color: #fff;
background-color: #00bcd4;
}
#section42 {
color: #fff;
background-color: #009688;
}
@media screen and (max-width: 810px) {
#section1,
#section2,
#section3,
#section41,
#section42 {
margin-left: 150px;
}
}
</style>
</head>
<body data-spy="scroll" data-target="#myScrollspy" data-offset="15">
<div class="container-fluid" style="background-color:#2196F3;color:#fff;height:220px;">
<h1>Scrollspy & Affix Example</h1>
<h3>Fixed vertical sidenav on scroll</h3>
<p>Scroll this page to see how the navbar behaves with data-spy="affix" and data-spy="scrollspy".</p>
<p>The left menu sticks the page after you have scrolled a specified amount of pixels, and the links in the menu are automatically updated based on scroll position.</p>
</div>
<br>
<div class="container">
<div class="row">
<nav class="col-sm-3" id="myScrollspy">
<div class="indicate-dots ">
<ul class="nav nav-stacked" data-spy="affix" data-offset-top="205">
<li class="point">
<a href="#section1" style="padding: 0px; position: absolute; top:-9px; left:2px;"></a>
</li>
<li class="point">
<a href="#section2" style="padding: 0px; position: absolute; top:-9px; left:2px;"></a>
</li>
<li class="point">
<a href="#section3" style="padding: 0px; position: absolute; top:-9px; left:2px;"></a>
</li>
<li class="point">
<a href="#section41" style="padding: 0px; position: absolute; top:-9px; left:2px;"></a>
</li>
<li class="point">
<a href="#section42" style="padding: 0px; position: absolute; top:-9px; left:2px;"> </a>
</li>
</ul>
</div>
</nav>
<div class="col-sm-9">
<div id="section1">
<h1>Section 1</h1>
<p>Try to scroll this section and look at the navigation list while scrolling!</p>
<p>Parallax Left Side Number shows only on active Animated line section. only one number should be see at time and all the number are hide, except the active number. </p>
</div>
<div id="section2">
<h1>Section 2</h1>
<p>Try to scroll this section and look at the navigation list while scrolling!</p>
</div>
<div id="section3">
<h1>Section 3</h1>
<p>Try to scroll this section and look at the navigation list while scrolling!</p>
</div>
<div id="section41">
<h1>Section 4-1</h1>
<p>Try to scroll this section and look at the navigation list while scrolling!</p>
</div>
<div id="section42">
<h1>Section 4-2</h1>
<p>Try to scroll this section and look at the navigation list while scrolling!</p>
</div>
</div>
</div>
</div>
我添加了视差左侧编号和固定的行。每一节的线条都是动画的。我希望文本也应以线为动画。在 一次只有一个数字与行一起显示,而其他数字则隐藏。我用的scrollspy为parllex和CSS计数器的增量为数字的增量。该数字不是用线动画的。
[1]: https://i.stack.imgur.com/x5aaU.jpg
</body>
</html>