滚动滚动,因为元素被动态添加

问题描述 投票:0回答:1

(仅供参考,这是一个艺术项目,因此在网站上听起来不算合理)

我有一个jQuery代码,可以遍历dom,并向页面上的随机元素添加属性('bar')。我希望新元素在添加时滚动到视图中。我已经尝试了一些方法,最近使用了:eq()来识别页面上最后一个这样的元素,但没有骰子。

        var last = $('[bar]').length;
        $('html,body').animate({scrollTop: $('[bar]:eq('+last+')').offset().top }, 100);
javascript jquery scroll jquery-animate
1个回答
0
投票

尝试添加一个最小的可复制示例:https://stackoverflow.com/help/minimal-reproducible-example

这是我对您尝试做的事情的猜测:

var bar = ['one', 'two', 'three'];

var myInterval;
var myIndex = 0;

myInterval = setInterval(()=>{  
  $('html,body').animate({scrollTop: $('#'+bar[myIndex]).offset().top }, 1000);
  myIndex +=1;
  if (myIndex >= bar.length){
    myIndex = 0;
  }
},500)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="one" style="height:1200px; background:#ff0000"></div>
<div id="two" style="height:1200px; background:#0004ff"></div>
<div id="three" style="height:1200px; background:#00ff04"></div>

给我一些更多的源代码和描述,我可能会进一步提供帮助。

最好是如果您能分叉此代码笔:https://codepen.io/Alexander9111/pen/qBdrQLG,然后再共享它:)

© www.soinside.com 2019 - 2024. All rights reserved.