【问题标题】:Jquery scroll navigation can't detect current sectionjQuery滚动导航无法检测到当前部分
【发布时间】:2014-08-15 15:39:54
【问题描述】:

我制作了一个页面,其中包含几个带有类内容的 div

<div class="content" id="content-0">content 1</div>
<div class="content" id="content-1">content 2</div>
<div class="content" id="content-2">content 3</div>
<div class="content" id="content-3">content 4</div>
<div class="content" id="content-4">content 5</div>

我还制作了 2 个在下一个和上一个 div 之间切换的链接

<div class="nav">
    <a id="prev" href="#">previous</a>
    <a id="next" href="#">next</a>
</div>

我使用 TwinMax 和 ScrollTo 插件在 div 之间导航

var section = 0;
    var number = $('.content').length;
        $("#next").click(function(e){
          e.preventDefault();

          if(section < number){
            section++;
          }
          TweenMax.to(window, 0.5, {scrollTo:{y:$("#content-" +    section).offset().top}});
        });

        $("#prev").click(function(e){
          e.preventDefault();
          if(section > 0){
            section--;
            TweenMax.to(window, 0.5, {scrollTo:{y:$("#content-" + section).offset().top}});
          }

        }); 

这里是JSFiddle

问题是这样的:

当我用鼠标滚动到最后一个部分然后单击下一个按钮时,页面会滚动回第二个部分。

如何检测当前的 div 以便下一个按钮正确转到下一个 div?

【问题讨论】:

    标签: javascript jquery html


    【解决方案1】:

    关于这个问题的公认答案可能会对您有所帮助:Check if element is visible after scrolling

    检查元素是否在页面上后,您可以设置section = element number。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多