我在Safari上将快照写到顶部的聊天记录-将scrollTop设置为0

时间:2018-07-14 04:43:55

标签: javascript css scroll chat scrolltop

我写的聊天有问题。我编写了以下代码,以便在用户未触摸聊天或滚动到底部时将其滚动到底部。它在Chrome上运行良好,但在Safari上,添加新条目时,它将始终将属性scrollTop设置为3。即使没有输入,它也会在一段时间后随机跳至顶部。任何建议将不胜感激!谢谢!

function writeChat(elem) {  
const chatty = document.getElementById('chat');  
const nDiv = newLine();  
const chInfo = window.getComputedStyle(chatty, null);  
nDiv.appendChild(elem);  
const total = parseInt(chInfo.getPropertyValue('height')) + chatty.scrollTop + 18;  
if(total >= chatty.scrollHeight || hasScrolled == false) {  
    chatty.appendChild(nDiv);  
    setTimeout(function(){ chatty.scrollTop = 1000000; }, 0.15);  
} else {  
    chatty.appendChild(nDiv);  
}};  

function newLine(cls) {  
const nDiv = document.createElement('div');  
if(cls) {  
    nDiv.className = cls;  
} else {  
    nDiv.className = "chatEntry";  
}  
return nDiv;  };

聊天div的CSS:

position: relative;
overflow-y: auto;
word-wrap: break-word;
height: 89%;
width: 98%;
font-size: 2vw;
padding: 1% 2%;
z-index: 1;
-webkit-overflow-scrolling: touch;

在Safari上的外观说明:
On Safari

关于在Chrome上的外观的gif信息:
  On Chrome

0 个答案:

没有答案