jQuery-mobile中的可折叠列表视图

时间:2013-03-14 07:21:15

标签: jquery jquery-mobile

是否可以仅使用第一个可折叠元素创建列表视图?例如:

<ul data-role="listview" data-count-theme="c" data-inset="true">
    <li>
        <div data-role="collapsible">
            <h4>Heading</h4>
            <ul data-role="listview">
                <li><a href="#">List item 1</a></li>
                <li><a href="#">List item 2</a></li>
                <li><a href="#">List item 3</a></li>
            </ul>
        </div>
    </li>
    <li><a href="#">Outbox <span class="ui-li-count">0</span></a></li>
    <li><a href="#">Drafts <span class="ui-li-count">4</span></a></li>
    <li><a href="#">Sent <span class="ui-li-count">328</span></a></li>
    <li><a href="#">Trash <span class="ui-li-count">62</span></a></li>
</ul>

看起来像:

enter image description here

http://jsfiddle.net/nonamez/u5PLh/

正如你可以看到可折叠列表在li里面,但我需要它是正常的列表,但是当按下第一个 - 它会向下滚动。

1 个答案:

答案 0 :(得分:3)

以下是一个工作示例:{j}从你的jsFiddle制作。{/ p>

这是一个纯粹的CSS解决方案。

HTML:

<div data-role="content" style="text-align:center">
    <ul data-role="listview" data-count-theme="c" data-inset="true">
        <li class="custom-li">
            <div data-role="collapsible">
                <h4>Heading</h4>
                <ul data-role="listview">
                    <li><a href="#">List item 1</a></li>
                    <li><a href="#">List item 2</a></li>
                    <li><a href="#">List item 3</a></li>
                </ul>
            </div>
        </li>
        <li><a href="#">Outbox <span class="ui-li-count">0</span></a></li>
        <li><a href="#">Drafts <span class="ui-li-count">4</span></a></li>
        <li><a href="#">Sent <span class="ui-li-count">328</span></a></li>
        <li><a href="#">Trash <span class="ui-li-count">62</span></a></li>
    </ul>
</div>

CSS:

.custom-li {
    padding: 0 !important;
    border-width:0 !important;
}

.custom-li + li{
    border-top-width: 0 !important;  
}

.custom-li div[data-role="collapsible"]{
    margin: 0 !important;   
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
    border-width:0 !important;
}