2013-11-21 52 views
2

我有一個tabpanel在不同的選項卡上聊天。每個標籤面板有一個聊天和討論是一段很長的話,在我initComponent,我有一個代碼,以連續滾動至底部,所以我可以顯示最新消息:extjs4捕捉面板上的滾動事件

setInterval -> 
    this.scrollBy 100000, 100000 
, 100 

這對於什麼它應該工作正常去做。問題是我有時想看看我之前談過的內容,並且必須滾動到頂端,但是這段代碼顯然不會讓我知道。我實現了一個鉤:

setInterval -> 
    if not this.autoscroll_disabled 
     this.scrollBy 100000, 100000 
, 100 

,現在我只是當用戶觸發我的面板上滾動捕捉事件,所以我可以設置autoscroll_disabled爲true,直到他向後滾動到再次探底可能。任何想法如何在extjs的面板上捕捉滾動事件?

回答

3
Ext.require('*'); 

Ext.onReady(function() { 
    var content = [], 
     i = 1; 

    for (; i <=100; ++i) { 
     content.push('Line ' + i); 
    } 

    var p = new Ext.panel.Panel({ 
     renderTo: document.body, 
     width: 200, 
     height: 200, 
     autoScroll: true, 
     title: 'Foo', 
     html: content.join('<br />') 
    }); 

    p.getTargetEl().on('scroll', function(e, t) { 
     var height = p.getTargetEl().getHeight(); 
     if (height + t.scrollTop >= t.scrollHeight) { 
      console.log('bottom'); 
     } 
    }); 
});