会话框 插入历史消息 窗口出现消息滚动和闪烁,怎么保持原来位置

最近在填自己的坑img=http://forum.csdn.net/PointFo...,求解答~~~
对话消息框中,点击"查看更多历史消息",向上加载,把内容prepend()进来,但是就会出现滚动条跟随到顶端的现象。不会定位在加载之前的位置。

之前用到一个办法,就是在加载之前获取一下当前页面的第一条消息的高度,加载完毕之后又获取一下容器高度,然后让滚动条向下滚动,滚回原位置。

功能可以实现,但是特别别扭,感觉用户体验会很差,要么可以看到往下滚动的过程,要么就是滚动完会有一个回弹现象。
请问有更好的实现方法吗?或是有没有适合的滚动条的插件推荐,看了scroller.js和iscroll.js,都不能很好的实现,都会出现滚动的过程

阅读 2.7k
1 个回答
新手上路,请多包涵

可以使用hash来解决

var hashval = '';
function creata () {
  $('.hashlink').remove();
  hashval = new Date().getTime()
  var a = $('<a href="" class="hashlink" style="line-height: 0" name="' + hashval + '"></a>');
  a.prependTo($('#showBanana'));
}
function gohash () {
  var newlink = self.location.href.split('#')[0] + '#' + hashval;
  self.location.replace(newlink)
}
在prepend内容之前,先creata(),prepend内容的时候,每次调用一下gohash(),便可以使得页面一直保持在原来的位置
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题