使用 Ajax 滚动 div 不起作用

scrolling div with ajax not working

提问人:Ben 提问时间:2/2/2017 更新时间:2/2/2017 访问量:668

问:

我已经与ajax建立了一个1对1的支持聊天,效果很好。我注意到,当 ajax 刷新 div 时,高于 div 高度,div 会不断扩大。我注意到许多有相同问题的人都被建议使用 overflow: auto 进行滚动,我已经尝试过,但根本没有接缝工作。有人可以为我指出正确的方向,以便在 div 中工作滚动条吗?

如果做不到这一点,我唯一的其他选择就是使用我真的不喜欢的 iframe。

<table width="100%" height="100%" border="0"><TR height="90%"><TD width="100%">

<div id="adminlog" height="100%" width="100%"></div>
</TD></TR><TR><TD><textarea rows="4" name="input" id="input" cols="100" style="width: 80%; border:solid 1px orange; background-color: lightyellow;">
</textarea>
<input type="button" value="send" id="send" class="btn btn-primary" onclick="return textSubmit();"></TD></TR></TABLE>

<script>
function textSubmit(str) {
if (str != "refresh") {
        var admin = "<?PHP echo $admin;?>";
        var session = "<?PHP echo $session;?>";
        var input = document.getElementById("input").value;
        document.getElementById("input").value = "";
        var dataString = 'admin='+ admin + '&input=' + input + '&session=' + session;
}
else {
        var session = "<?PHP echo $session;?>";
        var dataString = 'session=' + session;
}
        jQuery.ajax({
            url: "admin/chatsession.php",
            data: dataString,
            type: "POST",
            success: function(data){
                $("#adminlog").html(data);
            },
            error: function (){}
        });
    return true;

}

  setInterval('textSubmit("refresh")', 5000);
</script>
javascript php jquery ajax css

评论


答:

0赞 Bc96 2/2/2017 #1

使用 JQuery

<table id="scroll"><!--code--></table>
$(document).ready(function(){
// check if the scroll is down
    var isScrolledDown = ($('#scroll')[0].scrollHeight - $('#scroll')[0].scrollTop <= $('#scroll')[0].offsetHeight);
    // display the message
    $('#scroll')[0].innerHTML += htmlMessage;
    // scroll down the scrollbar
    $('#scroll')[0].scrollTop = isScrolledDown ? $('#scroll')[0].scrollHeight : $('#scroll')[0].scrollTop;}

或者用来理解ajax和php这本书

评论

1赞 Michael Dodd 2/2/2017
您好,欢迎来到 Stack Overflow。虽然我们始终欢迎链接到有用的外部资源,但也请引用您链接到的页面的关键摘录。这样一来,如果网站出现故障或页面被(重新)移动,那么这个答案就不会变得毫无用处。