0

Closureextensively を使用するサイトに取り組んでいます。他のすべてがスクロールするときにヘッダー行を固定する必要があります。ほんの数行のコードで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 に答える