如何使用JavaScript调用此函数?

时间:2011-12-12 17:07:55

标签: javascript html function declaration invocation

我正在处理基本级别的javascripts。今天我找到了以下内容,并在新数据添加到DIV时向下滚动DIV层。我无法理解如何调用函数。它是否使用window.onload函数使用?或任何其他。我应该在哪里声明DIV名称?

代码如下。

var chatscroll = new Object();
chatscroll.Pane = 
    function(scrollContainerId)
    {
        this.bottomThreshold = 25;
        this.scrollContainerId = scrollContainerId;
    }

chatscroll.Pane.prototype.activeScroll = 
    function()
    {
        var scrollDiv = document.getElementById(this.scrollContainerId);
        var currentHeight = 0;

        if (scrollDiv.scrollHeight > 0)
            currentHeight = scrollDiv.scrollHeight;
        else 
            if (objDiv.offsetHeight > 0)
                currentHeight = scrollDiv.offsetHeight;

        if (currentHeight - scrollDiv.scrollTop - ((scrollDiv.style.pixelHeight) ? scrollDiv.style.pixelHeight : scrollDiv.offsetHeight) < this.bottomThreshold)
            scrollDiv.scrollTop = currentHeight;

        scrollDiv = null;
    }

更新1:

<script type="text/javascript">
    var chatscroll = new Object();
    var chatScrollPane = new chatscroll.Pane('div1');
    chatScrollPane.activeScroll()
    chatscroll.Pane = function (scrollContainerId) {
    this.bottomThreshold = 25;
    this.scrollContainerId = scrollContainerId;
}
    chatscroll.Pane.prototype.activeScroll = function () {
    var scrollDiv = document.getElementById(this.scrollContainerId);
    var currentHeight = 0;

    if (scrollDiv.scrollHeight > 0)
        currentHeight = scrollDiv.scrollHeight;
    else
        if (objDiv.offsetHeight > 0)
            currentHeight = scrollDiv.offsetHeight;

    if (currentHeight - scrollDiv.scrollTop - ((scrollDiv.style.pixelHeight) ? scrollDiv.style.pixelHeight : scrollDiv.offsetHeight) < this.bottomThreshold)
        scrollDiv.scrollTop = currentHeight;
    scrollDiv = null;
}
</script>

1 个答案:

答案 0 :(得分:5)

chatscroll.Pane旨在用作构造函数。您将构建一个这样的实例:

new chatscroll.Pane('somescrollContainerId');

如果将返回值分配给变量,则返回值将变为可重用。

var chatScrollPane = new chatscroll.Pane('somescrollContainerId');

您传入的scrollContainerId将是HTML文档中要与此对象一起使用的id元素的ID(DIV属性)。

您不应该在window.onload中声明它,但这肯定不会受到伤害。所有构造函数都在创建一个新对象,将this值设置为该新对象,在其中创建和设置bottomThresholdscrollContainerId属性,然后在构造函数时返回此新对象完了。

确保在文档完全解析之后才调用activeScroll函数,因为它实际上会进入文档以检索和操作元素。