gpt4 book ai didi

jQuery prepend - 防止自动滚动

转载 作者:行者123 更新时间:2023-12-03 22:57:10 24 4
gpt4 key购买 nike

我只是在使用 jQuery prepend,但无法让它按预期工作。

我在做什么:

Prepending a .content div to #main div every one second

但是,当我向下滚动一点时[一旦页面充满内容],我会不断滚动回 #main 的顶部或最新的前置 .content

我该怎么办:

Prevent the viewport from changing - like in case of append

相关fiddle

最佳答案

正如我在评论中所解释的,滚动实际上并没有改变。窗口的滚动基于“距顶部的距离”(DfT)。也就是说,如果没有滚动条,则 DfT 为 0。引入滚动条后,您现在就有了一个可以使用的距离。

由于内容变得越来越长,视口(viewport)只有这么多像素高,因此某些内容“从”页面底部“掉落”(前置会根据新元素的高度使 DfT 关闭)。

我能想到的最好方法是用新元素的高度来抵消它。这允许您滚动到某个位置,然后在添加新元素时,您可以相应地修改滚动位置。

以下是我的意思的示例:http://jsfiddle.net/bradchristie/66RvC/1/

以及代码(供引用):

var f = function(){
var t = $(window).scrollTop(), // Window's current scroll position
$d = $(d()).prependTo('#main'), // store the new element
h = $d.outerHeight(); // also get its height
if (t){ // Only adjust if they've scrolled
$(window).scrollTop(t + h); // add the delta to the scroll position
}
setTimeout( f, 1000 );
};

关于jQuery prepend - 防止自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12940635/

24 4 0
文章推荐: jquery:向新创建的元素添加事件
文章推荐: jquery - "use strict"; + jQuery.getScript() = 脚本无法导出到全局命名空间
文章推荐: jquery - 如果我使用 jQuery 语法 : $ ("") ,图像实际上会下载到客户端吗?
文章推荐: jquery - 如何选择<input/>字段周围的外部
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com