Scroll YUI面板和滚动

Scroll YUI面板和滚动,scroll,yui,panel,Scroll,Yui,Panel,我有一个可拖动的YUI面板,定义如下 new YAHOO.widget.Panel("parameters", { fixedcenter: true, constraintoviewport: true, underlay: "shadow", visible: false,

我有一个可拖动的YUI面板,定义如下

new YAHOO.widget.Panel("parameters", {
                        fixedcenter: true,
                        constraintoviewport: true,
                        underlay: "shadow",
                        visible: false,
                        close: true,
                        draggable: true,
                        width: "350px" });
显示面板时,我希望它始终可见,即使在滚动窗口时也是如此。 由于
fixedcenter:true
,情况也是如此。问题是,当滚动窗口时,面板将自身定位到窗口的中心,即使它以前被拖动到其他地方


如何修改上述定义,以便在滚动窗口时,面板相对于窗口的位置保持不变?

将面板容器包装在具有固定位置的包装器元素中,例如

<div id="wrapper" style="position: fixed">
    <div id="parameters">
        <div class="hd">Header</div>
        <div class="bd">Hello, this is my awesome panel.</div>
        <div class="ft">Footer</div>
    </div>
</div>
当窗口滚动时,面板现在应保持在相同的位置。我只在Firefox3.0和InternetExplorer7和8中测试过这个


我提供了一个自包含的示例来演示此工作。

根据文档,将fixedcenter设置为:

“包含”以启用固定中心定位,如使用true 选项但是,与将属性设置为true不同,当 属性设置为“contained”,前提是覆盖太大,无法覆盖 视口,当用户滚动时,它不会自动居中 或调整窗口大小(直到窗口足够大以容纳 覆盖)。这在覆盖具有两个标头的情况下非常有用 和页脚UI控制用户可能需要访问的内容

var panel = new YAHOO.widget.Panel("parameters", {
        constraintoviewport: true,
        underlay: "shadow",
        visible: false,
        close: true,
        draggable: true,
        width: "350px"
    });
panel.render();
panel.center();