Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在当前div上加载新的Ajax内容而不滚动_Javascript_Jquery_Html_Css_Ajax - Fatal编程技术网

Javascript 在当前div上加载新的Ajax内容而不滚动

Javascript 在当前div上加载新的Ajax内容而不滚动,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我不确定我是否可以在这里发布没有代码的问题。无论如何,如果它太宽或不合适,我很乐意删除。我目前正在实现pull-to-refresh和永无止境的scroll,这两个功能现在很流行,很明显是因为它们的可用性 还有一些人反对这些功能。我刚刚读到一篇文章,从设计师的角度来看,几年后拉刷新应该如何过时,因为所有东西都会自动刷新,谁想手动刷新呢。此外,永无止境的滚动您可能会失去您的位置或无法加载新内容,并必须刷新 我希望所有的新帖子都能自动发布,并将它们添加到我的列表的顶部,但是如果你想象像twitter

我不确定我是否可以在这里发布没有代码的问题。无论如何,如果它太宽或不合适,我很乐意删除。我目前正在实现pull-to-refresh和永无止境的scroll,这两个功能现在很流行,很明显是因为它们的可用性

还有一些人反对这些功能。我刚刚读到一篇文章,从设计师的角度来看,几年后拉刷新应该如何过时,因为所有东西都会自动刷新,谁想手动刷新呢。此外,永无止境的滚动您可能会失去您的位置或无法加载新内容,并必须刷新

我希望所有的新帖子都能自动发布,并将它们添加到我的列表的顶部,但是如果你想象像twitter这样的东西在使用它,你就永远不会真正阅读推文。他们会很快刷新你想读的所有东西都会被掩埋


有没有人真的已经远到甚至决定使用甚至想做的样子呢?对不起,我的意思是,有人看到过它的实现吗?新内容/帖子自动加载到最近的帖子上面,但我在页面上的位置保持不变?我想看看是怎么做的。谢谢。

不,我不记得有一个网站有一个和你描述的完全一样的系统。但我做了一个小函数,它应该很好地模拟您想要实现的功能

在这里您可以实时查看代码

代码的工作原理 1) 。定义用于跟踪到文档顶部的当前偏移量的变量,如下所示:

var curr_y = $(window).scrollTop();
2) 。每次用户滚动时,将当前偏移量的值更新到文档顶部:

$(window).scroll(function () {
    curr_y = $(window).scrollTop();
});
3) 。使用您的函数获取数据,然后使用以下代码预先发送到容器,然后将页面滚动到预先发送之前的位置:

cont = $('<div>your-content');
$("#container").prepend(cont);
$(window).scrollTop(curr_y + cont.outerHeight(true));
cont=$('your-content');
$(“#容器”)。预编(续);
$(窗口).scrollTop(当前+cont.outerHeight(真));

这绝对是我问题的答案。如果我也能问一下,这是个好主意吗?许多网站只有“点击显示新内容”功能,但这仍然是手动的。@好吧,我个人希望它像StackOverflow一样(出现一个小条,上面写着:X个新问题已经发布),然后你可以点击它,所有新内容都会显示出来。但那就是我,我相信这种方法和你想要的方法都有利弊。@dclass我不是用户体验专家,所以也许你会在这个网站上得到一些关于用户体验部分的更好的提示:。祝你好运,并致以最良好的祝愿!:)