【问题标题】:Scrolling from navbar list of items to element从导航栏项目列表滚动到元素
【发布时间】:2017-02-07 06:43:23
【问题描述】:

正如标题所说,我想点击一个导航栏项目,然后向下滚动到它的 id 元素。

这是我的清单:

<nav class="navbar navbar-default navbar-static-top navbar-fixed-top">
  <div class="container-fluid">
   <ul class="nav navbar-nav navbar-right">
       <li role="presentation" class="active"><a href="">Home</a></li>
       <li role="presentation"><a href="">About</a></li>
       <li role="presentation"><a href="">Portfolio</a></li>
       <li role="presentation"><a href="">Contact</a></li>   
   </ul>
   <ul class="nav navbar-nav">
      <p class="navbar-text" id="name">Daniel Ramirez</p> 
   </ul>
 </div>
</nav>

我想滚动到名为 #home#about#portfolio#contact 的 id 元素。

这是我的 jQuery 代码,它不起作用:

$('ul > li').eq(0).click(function() {
    $(this).animate({
        scrollTop: $("#about").offset().top
    }, 2000);
});

提前致谢

【问题讨论】:

    标签: jquery jquery-animate scrolltop


    【解决方案1】:

    请进行这些更改

         <ul class="nav navbar-nav navbar-right">
           <li role="presentation" class="active"><a href="javascript: void(0)">Home</a></li>
           <li role="presentation"><a href="javascript: void(0)">About</a></li>
           <li role="presentation"><a href="javascript: void(0)">Portfolio</a></li>
           <li role="presentation"><a href="javascript: void(0)">Contact</a></li>   
       </ul>
    

    在上面更改href

    $(document).ready(function(){
        $('ul > li').click(function() { 
        var srollToElement = $(this).text().toLowerCase();
            $('body').animate({ scrollTop: $('#' + srollToElement).offset().top  }, 1000);  
          });
    });
    

    在上面打开和关闭之间的文本有关系,即如果我们想要滚动投资组合,那么我们应该有一个小的投资组合元素,并且文本 b/w 开始关闭应该匹配。虽然我确实进行了小写调用。

    【讨论】:

    猜你喜欢
    • 2018-03-22
    • 2018-10-28
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-10-07
    相关资源
    最近更新 更多