使用多个不同大小的面板更改面板关闭大小
Altering panel dismiss size with multiple different sized panels
我在自己编写的 Web 应用程序中使用了五个面板。由于包含的信息量,其中一个面板需要稍微大一些。
但是,单击靠近边缘的位置会关闭面板。我知道我可以改变 ui-panel-dismiss class 上的宽度和起点,但我怎么能只为那个面板做这件事。我看不出那个和另一个面板之间有任何区别 classes。而且我不想在其他面板上有差距。我能想到的唯一方法是使用 jquery 以编程方式更改面板宽度。
有更好的方法吗?
<div id="panel2" data-role="panel" data-position="right" data-display="overlay">
<a href= "#" data-rel="close" data-role="button">Close</a>
<div id="colourChange"></div>
</div>
css:
#panel2 {
width: 25em;
}
编辑: 添加了 JSfiddle 来说明我的意思。
http://jsfiddle.net/awm1475a/
点击面板 2 中的蓝色 div 应该触发颜色变化而不是关闭面板
这里有一个快速技巧可以帮助您解决这个问题。只需将 panel2 z-index 提高到高于 dismiss div。默认情况下,面板的 z-index 为 1001,dismiss div 为 1002.
#panel2 {
width: 25em;
z-index: 1003;
}
Updated FIDDLE
这是因为可关闭的叠加层与面板重叠。单击该叠加层会关闭面板。因此,您需要像调整面板本身一样调整其宽度。
快速解决方法是使用 panelopen
to add new width to that overlay. Check this working fiddle。
$(document).on("panelopen", ".ui-panel", function () {
var panel = $(this).width(),
screen = $(window).width(),
width = screen - panel;
$(".ui-panel-dismiss").width(width);
});
我在自己编写的 Web 应用程序中使用了五个面板。由于包含的信息量,其中一个面板需要稍微大一些。
但是,单击靠近边缘的位置会关闭面板。我知道我可以改变 ui-panel-dismiss class 上的宽度和起点,但我怎么能只为那个面板做这件事。我看不出那个和另一个面板之间有任何区别 classes。而且我不想在其他面板上有差距。我能想到的唯一方法是使用 jquery 以编程方式更改面板宽度。
有更好的方法吗?
<div id="panel2" data-role="panel" data-position="right" data-display="overlay">
<a href= "#" data-rel="close" data-role="button">Close</a>
<div id="colourChange"></div>
</div>
css:
#panel2 {
width: 25em;
}
编辑: 添加了 JSfiddle 来说明我的意思。 http://jsfiddle.net/awm1475a/
点击面板 2 中的蓝色 div 应该触发颜色变化而不是关闭面板
这里有一个快速技巧可以帮助您解决这个问题。只需将 panel2 z-index 提高到高于 dismiss div。默认情况下,面板的 z-index 为 1001,dismiss div 为 1002.
#panel2 {
width: 25em;
z-index: 1003;
}
Updated FIDDLE
这是因为可关闭的叠加层与面板重叠。单击该叠加层会关闭面板。因此,您需要像调整面板本身一样调整其宽度。
快速解决方法是使用 panelopen
to add new width to that overlay. Check this working fiddle。
$(document).on("panelopen", ".ui-panel", function () {
var panel = $(this).width(),
screen = $(window).width(),
width = screen - panel;
$(".ui-panel-dismiss").width(width);
});