吐血: 新消息的判断,以及Div滚动条的解决方案. 请高人解决解决方案
吐血:新消息的判断,以及Div滚动条的解决方案. 请高人解决其实两个问题是结合的,,有新消息才让滚动条到最底
吐血: 新消息的判断,以及Div滚动条的解决方案. 请高人解决
其实两个问题是结合的,,有新消息才让滚动条到最底.
问题1:
页面A,页面B.
用户A在A页面,用户B在B页面.
进行聊天。
怎么检测用户A给用户B发了新消息。
我现在是用两种方法实现了:
Timer1定时提取数据库数据,看是否有新消息
Timer2定时提取Datatable, 看是否有新消息。
还有没有更好的方法判断有新消息?
问题2:
DIV滚动条问题: 给Div设置了overflow: auto;
内部内容增多时,滚动条会自动出现.
后台是定时提取数据的,如果提取到,内部内容就会增加,DIV滚动条就不会在最底了。
开始设置了Js.并每秒执行一次。 但是向上拖动滚动条时,滚动条又自动跑到下面了。
请问这个问题又能怎样解决?
C# code function sc() { var e=document.getElementById("selcontent"); if(e) e.scrollTop=e.scrollHeight; } var s=setInterval("sc()",1000)
其实两个问题是结合的,,有新消息才让滚动条到最底.
[解决办法]你都已经实现了,聊天的消息用内存中的datatable检测就可。
去掉定时器的滚动,收到消息时再滚动。
[解决办法]楼主自己没搞明白哦~~
页面聊天的话肯定是用ajax技术,在浏览器端定时去向服务器查问是否有新消息
这样的话的二个问题也就解决了,即有新消息的时候你再在js里面把滚动条滚到最下方
[解决办法]你要这么做,服务器估计就让你拖死了
timer 间隔设的大小直接影响性能
虽然你使用了AJAX 2.0控件
1、cpp2017 的方法可行,牺牲服务器性能节省数据库资源
2、当新信息来的时候,判断当前滚动条的位置
如果没有拖动,则自动滚到顶端
如果拖动过,则不变
[解决办法]