Jas*_*Lin 3 html javascript css jquery
我试图让父 div 的内部以设定的间隔滚动到下一个子 div。然而,滚动只工作了一半,我不知道为什么。它应该滚动浏览所有 8 个孩子,但只浏览大约一半。
在我制作的这个 jsfiddle 中,当它应该是 ~250px 时,每隔一次偏移量只是 1px。在我的实际代码中,它关闭了 0px,而它应该关闭了 ~250px。
https://jsfiddle.net/rLeLogx0/3/
这是JS:
//scroll to 2nd one first
var index = 1;
setInterval(function(){
var parent = $('.parent');
var children = parent.find('.child');
var target = children.eq(index);
var offset = target.offset().top - $('.parent').offset().top;
//ISSUE: outputs the "same" value every other time
console.log(target.offset().top);
parent.animate({
scrollTop: offset
}, 200);
index = (index+1) % children.length;
}, 1000);
Run Code Online (Sandbox Code Playgroud)
试试这个来计算你的偏移量:
var offset = target.position().top + parent.scrollTop();
Run Code Online (Sandbox Code Playgroud)
更新 jsfiddle:https ://jsfiddle.net/rLeLogx0/21/
更新:
如果您真的希望您的offset变量包含偏移量,您可以增加scrollTop您的参数中的值.animate()
var target = children.eq(index);
[...]
parent.animate({
scrollTop: '+='+offset
}, 200);
Run Code Online (Sandbox Code Playgroud)
见jsfiddle:https ://jsfiddle.net/rLeLogx0/23/
| 归档时间: |
|
| 查看次数: |
2525 次 |
| 最近记录: |