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