首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

聊天室消息區自動滾動到底部 JavaScript 實現:scrollWindow 定時器與焦點控制

     編輯:PHP 相關知識

核心腳本

<script language="JavaScript1.1">
var autoScrollOn = 1;
var scrollOnFunction, scrollOffFunction;

function scrollit() {
    if (!parent.d.document.inputform.as.checked) { autoScrollOn=0; return true; }
    else { autoScrollOn=1; StartUp(); return true; }
}
function scrollWindow() {
    if (autoScrollOn == 1) {
        this.scroll(0, 65000); // 滾動到底部
        setTimeout('scrollWindow()', 200);
    }
}
function scrollOn() { autoScrollOn=1; scrollWindow(); }
function scrollOff() { autoScrollOn=0; }
function StartUp() {
    this.onblur = scrollOnFunction;
    this.onfocus = scrollOffFunction;
    scrollWindow();
}
scrollOnFunction = new Function('scrollOn()');
scrollOffFunction = new Function('scrollOff()');
StartUp();
</script>

機制解析

  • scrollWindow:每 200ms 將滾動條設為極大值 (65000px),強制置底。
  • autoScrollOn:開關標志,勾選框 inputform.as 控制。
  • onblur/onfocus:窗口失去/獲得焦點時暫停/恢復自動滾動,避免用戶閱讀歷史消息被強制跳底。

適用場景

iframe/frame 嵌入的聊天消息框、日誌實時尾部追蹤、股票報價滾動等需「始終顯示最新內容」的界面。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved