0

我正在一个广泛使用 Closure 的网站上工作。当其他所有内容滚动时,我需要制作标题行。我只用几行代码就知道如何在 jQuery 中做到这一点:

$(window).load(function(){
    $('#main_box').scroll(function() {
        $('#header').css({
            'top':$('#main_box').scrollTop()
        });
    });
});

但是对于我的一生,我无法弄清楚或找到任何解释如何在 Closure 中做类似事情的文档/教程/示例。我该如何将 over 转换为 Closure?

更新:这是使用的 HTML 结构:

<div id="main_box">
    <div id="header"></div>
    <div id="content"></div>
</div>
4

1 回答 1

1

如果您试图在页面滚动过去时将某些东西粘在视口的顶部,请查看 goog.ui.ScrollFloater -> http://closure-library.googlecode.com/svn/docs/class_goog_ui_ScrollFloater.html

但是对于这个特定的例子,你可以做......

var mainBox = goog.dom.getElement("main_box");
goog.events.listen(mainBox, goog.events.EventType.SCROLL, function(){
    goog.dom.getElement("header").style.top = goog.style.getPageOffsetTop(mainBox); 
}, false, this);

我不确定 getPageOffsetTop 是否类似于 jQuery 中的 scrollTop() 方法,但我猜测样式库中的某些内容是(可能是 goog.style.getClientPosition())-> http://closure-library.googlecode。 com/svn/docs/closure_goog_style_style.js.html

于 2013-03-20T01:00:51.860 回答