如何隐藏可折叠的标题时,可折叠的内容显示在Jquery移动
How to hide collapsible-header when collapsible-content is displayed in Jquery Mobile?
我正在开发Jquery Mobile,我正在使用可折叠集。当我点击h3时,就会显示可折叠内容。这是预先定义的。但我需要的是,当我点击h3(动物),然后h3应该被隐藏,只有ul应该显示(猫)。同样,如果我单击ul(Cats面板)中的图像,这应该是隐藏的,应该显示header-h3。我有一个很大的数据集,我想用这种方法应用到整个数据集。
JSFIDDLE
//html
<div id="list" data-role="collapsibleset" data-inset="false">
<div data-role="collapsible">
<h3>Animals</h3>
<ul data-role="listview" data-inset="false">
<li><span><img id="image" src="http://lorempixel.com/20/20/"></span>Cats</li>
</ul>
</div>
正如@falsarella所指出的,您可以通过CSS实现h3
的隐藏,但是在单击图像时恢复它并隐藏子ul
将需要一些jQuery单击处理程序。例子:
$(function () {
$('div[data-role="collapsible"] > h3').click(function() {
if(!$(this).is(':hidden'))
$(this).hide();
});
$('ul[data-role="listview"] img').click(function() {
$(this).closest('div[data-role="collapsible"]').children('h3').trigger('click').show();
});
});
更新jsFiddle,从你的分叉:http://jsfiddle.net/dBH3h/
div[data-role="collapsible"] > h3
上的click handler处理展开h3
时隐藏CC_4的工作;然后下一个处理程序利用其中的IF条件。
通过附加到ul[data-role="listview"] img
的点击事件,我们可以在jQ中使用一些基本的DOM遍历来找到相关的h3
,触发它的点击事件(自动隐藏ul
并恢复扩展图标),然后使其再次可见。
更新:因为这个特殊的可折叠小部件不支持同时打开多个面板,这个答案可能会导致意想不到的结果(即多个隐藏的标题),当试图在折叠前一个之前展开一个新的。对于没有这种情况的小部件,这可以工作-对于这个小部件,请参阅Omar的答案。
收听collapsibleexpand
事件,然后通过添加ui-screen-hidden
类隐藏header。要再次显示标题,需要将事件绑定到可折叠的内容。例如,click
事件将再次显示标题,并以编程方式将折叠内容。
$(document).on("collapsibleexpand", "[data-role=collapsibleset]", function (e) {
// show previously hidden headers
$(".ui-screen-hidden").removeClass("ui-screen-hidden");
// hide target collapsible's header
$("h3", e.target).addClass("ui-screen-hidden");
// listen to click event on collapsible's content
}).on("click", ".ui-collapsible-content", function () {
// retrieve parent collapsible
var collapsible = $(this).closest(".ui-collapsible");
// show header
collapsible.find(".ui-screen-hidden").removeClass("ui-screen-hidden");
// collapse target collapsible
collapsible.collapsible("collapse");
});
只需添加以下CSS:
.ui-collapsible h3 {
display: none;
}
.ui-collapsible.ui-collapsible-collapsed h3 {
display: block;
}
和以下JS:
$(".ui-collapsible-content").click(function(){
$(this).parent().collapsible("collapse");
});
这里有一个参数,这样你就可以验证它是否是你想要的行为。
- 可折叠树在第二级不显示子树
- 引导程序/轨道-可折叠导航栏没有'我不能在手机上工作
- 只使用CSS创建可折叠菜单或spry菜单
- 可以't以编程方式关闭jQuery移动弹出窗口中的可折叠部分
- QML中的可折叠面板
- 可折叠容器/柱.添加多个链接
- 如何将垂直选项卡式内容面板更改为具有媒体查询和 jquery 的响应式可折叠面板
- 如何防止我的引导可折叠框滚动页面
- 如何以可扩展和可折叠的树形结构显示XML模式
- 单击一个后自动折叠所有其他可折叠内容
- 可折叠侧边栏/导航菜单
- 可折叠<UL><李>不起作用
- Ext JS 5.1:当可折叠为true时,无法对面板进行标题设置
- 如何让可折叠按钮仅针对移动设备显示
- 如何隐藏可折叠的标题时,可折叠的内容显示在Jquery移动
- 带显示和隐藏事件的3个嵌套可折叠元素
- 来自php的Ajax响应不会将接收到的数据显示为可折叠的- jquery移动
- 为什么不显示可折叠和可扩展的图像
- 按id更改可折叠标题内的文本或显示图像
- 下拉菜单-要显示的类的Javascript:如果选项卡类打开或关闭,则为none(可折叠面板)