首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在每次单击时滑到下一个元素?

如何在每次单击时滑到下一个元素?
EN

Stack Overflow用户
提问于 2018-07-30 16:18:46
回答 1查看 167关注 0票数 0

我在试着做邮政导航。单击"next“按钮,然后将窗口滑动到#post-n元素。但是邮政号码是随机的,不是等级的。我可以做第一张幻灯片,但不能做其他幻灯片。

代码语言:javascript
复制
$('.next-post').click(function(e) {
    e.preventDefault();

    $([document.documentElement, document.body]).animate({
        scrollTop: $("#post-2").offset().top
    }, 500);

});
代码语言:javascript
复制
.post {
  display: block;
  height: 500px;
  width: 500px;
  background-color: #2196F3;
  margin-bottom: 30px;
}

.next-post {
  position: fixed;
  background-color: #f44336;
  color: #fff;
  padding: 5px;
  text-decoration: none;
  border-radius: 5px;
  bottom: 15px;
  left: 50%;
}
代码语言:javascript
复制
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<article id="post-1" class="post"></article>
<article id="post-2" class="post"></article>
<article id="post-3" class="post"></article>
<article id="post-4" class="post"></article>
<article id="post-5" class="post"></article>
<article id="post-6" class="post"></article>

<a href="#" class="next-post">Next Post</a>

下面是JSFiddle:https://jsfiddle.net/xpvt214o/514002/

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 16:25:04

我跟踪当前post索引,并将所有查询的post作为var,然后在单击时增加索引,并从该全局var中选择该索引:

代码语言:javascript
复制
var currentPostIndex = 0;
var allPosts = $(".post");

$('.next-post').click(function(e) {
    e.preventDefault();

    currentPostIndex++;
    $([document.documentElement, document.body]).animate({
        scrollTop: $(allPosts[currentPostIndex]).offset().top
    }, 500);
});

https://jsfiddle.net/35w9ze2s/5/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51598293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档