zoukankan      html  css  js  c++  java
  • anchoranimation

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Document</title>
      <style>
        :root{
          --sidebar-item-height: 36px
        }
        html,body,ul{padding: 0; margin: 0; font-family:'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;}
        .side{
          width: 200px;
          list-style-type: none;
          z-index: 5;
        }
        .side li {
          height: var(--sidebar-item-height);
          line-height: var(--sidebar-item-height);
          padding-left: 20px;
          color: #007572;
          position: relative;
        }
        .main>div{
          display: inline-block;
          vertical-align: top;
        }
        .sidebar{
          position: fixed;
          left: 0;
          top: 0;
          right: 0;
          bottom: 0;
          z-index: 10;
        }
        .sidebar-div__position{
          opacity: 0;
          height: var(--sidebar-item-height);
          width: 180px;
          padding-left: 20px;
          background-color: #e3f8f5;
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          transition: all .25s linear;
          z-index: -99;
        }
        .sidebar-div__position::after{
          content: '';
          position: absolute;
          left: 0;
          top:0;
          bottom: 0;
          width: 2px;
          background-color: #007570;
        }
        .content{
          margin: 0 0 350px 220px;
        }
        .content h3{
          background-color: #e3f8f5;
        }
      </style>
      <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js"></script>
    </head>
    <body>
        <div class="main">
          <div class="sidebar">
            <ul class="side">
              <li>A-1</li>
              <li>A-2</li>
              <li>A-3</li>
              <li>A-4</li>
              <li>A-5</li>
            </ul>
            <div class="sidebar-div__position"></div>
          </div>
          <div class="content">
            <h1>这是标题</h1>
            <h3>A-1</h3>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <h3>A-2</h3>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <h3>A-3</h3>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <h3>A-4</h3>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <h3>A-5</h3>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
            <p>
              这本书讲了一个真实的故事。一位社会学的老教授,在患病去世前的十几周里,在每周的星期二,约见自己之前的一位学生,向他传授人生中的最后一课:讨论生活的意义,关于家庭、工作、感情、衰老、死亡、遗憾、原谅等重大议题。这本书只有200页厚,但我觉得可以继续压缩到100页,因为书中做了太多的背景交代和铺垫,尤其是老教授的身体逐渐衰败的过程,他的生命火烛在一点点的熄灭,几乎每一个章节都花了不少篇幅描述。作者的核心观念还是奉献爱,爱身边的人,关注自己所在的社区。这和之前看到的一个TED关于幸福的演讲是类似的,只有和重要的人建立良好的亲密关系,才会感觉到幸福。
            </p>
          </div>
        </div>
    
        <script type="text/javascript">
          (() => {
            const sidebarItemHeight = 36;
            const positionEl = document.querySelector('div.sidebar-div__position');
            const elements = Array.from(document.querySelectorAll('ul.side li'));
            const paragraphs = Array.from(document.querySelectorAll('.content h3'));
            for(let i = 0; i < elements.length; i++){
              ((el, index) => {
                el.addEventListener('click', e => {
                  console.log('click sidebar', e.target, 'index', index);
                  window.scrollTo(0, paragraphs[index].offsetTop);
                }, false);
              })(elements[i], i);
            }
    
            // 计算滚动条滚动方向使用
            let beforeScrollTop = document.body.scrollTop;
            let directEnum = {
              down: 'down',
              up: 'up'
            };
    
            /**
             * 获取滚动条滚动方向
             */
            const getScrollDirection = (elements) => {
              const elRect = elements[0].getBoundingClientRect();
              const top = Math.abs(elRect.top);
              let direction = top > beforeScrollTop
                ? directEnum.down
                : directEnum.up;
              console.log(direction, beforeScrollTop, top);
              beforeScrollTop = top;
              
              return direction;
            };
    
            // 绑定滚动事件
            window.addEventListener('scroll', _.debounce((e) => {
              let direction = getScrollDirection(paragraphs);
    
              let index = direction === directEnum.down
                ? -1
                : (paragraphs.length - 1);
              console.log('init index', index);
              for(let h3 of paragraphs){
                const rect = h3.getBoundingClientRect();
                const paragraphHeight = 25;
                console.log('h3-', h3.innerText, 'top', rect.top);
    
                if (direction === directEnum.down && rect.top < paragraphHeight * 2) {
                  index += 1;
                  console.log(direction, '[ hit ]', 'index', index);
                } else if (direction === directEnum.up && rect.top > paragraphHeight * 2) {
                  index -= 1;
                  console.log(direction, '[ hit ]', 'index', index);
                } else {
                  console.log(direction, '[ miss ]', 'index', index);
                }
              }
    
              console.log('current index', index);
              if (index >= 0) {
                positionEl.style.opacity = 1;
                positionEl.style.top = `${(index) * sidebarItemHeight}px`;
              } else {
                positionEl.style.opacity = 0;
                positionEl.style.top = `0px`;
              }
            }, 100), false);
          })();
        </script>
    </body>
    </html>
    本博客内容,如需转载请务必保留超链接。

    Contact Me:Mail此处省略好几个字...
  • 相关阅读:
    关于同余最短路
    【水】关于 __attribute__
    题解【AtCoder
    一些简单图论问题
    浅谈简单动态规划
    关于博客园主题(美化博客园)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第47章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第46章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第45章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第44章 读书笔记(待更新)
  • 原文地址:https://www.cnblogs.com/jroger/p/15246645.html
Copyright © 2011-2022 走看看