【问题标题】:jQuery Mobile - collapsibles mixed with normal list itemsjQuery Mobile - 与普通列表项混合的可折叠项
【发布时间】:2013-04-16 15:28:39
【问题描述】:

很难让它工作,这就是我想要的:

-Collapsible
---Item 1
---Item 2
---Item 3
-Normal list view item with link
-Collapsible
---Item 1
---Item 2
---Item 3

所以基本上我想要一个普通的列表视图项,其中包含一个由可折叠元素包围的链接。

我尝试过使用手风琴和列表视图,但到目前为止我还没有接近。

<ul data-role="listview">
    <li>
        <div data-role="collapsible">
            <h3>Invite</h3>
            <ul data-role="listview" data-inset="false">
                <li><a href="#">Email Invite</a></li>
                <li><a href="#fb_invite">Facebook Invite</a></li>
                <li><a href="#twitter_invite">Twitter Invite</a></li>
                <li><a href="#address_book_invite">Address Book Invite</a></li>
            </ul>
        </div>
    </li>
    <li><a href="#">Normal item!</a></li>
</ul>

这创建的功能很好,问题是可折叠列表具有按钮的视觉方面,我希望它看起来与普通的 li 项目完全一样。

欢迎任何解决此问题的方法。

【问题讨论】:

    标签: jquery css html jquery-mobile jquery-mobile-listview


    【解决方案1】:

    我很无聊,所以我给你做了两个不同的解决方案。

    解决方案 1:

    工作示例:http://jsfiddle.net/Gajotres/b3NR8/

    HTML:

    <ul data-role="listview" id="custom-listview">
        <li class="custom-li">
            <div data-role="collapsible" class="custom-collapsible">
                <h3>Invite</h3>
                <ul data-role="listview" data-inset="false">
                    <li><a href="#">Email Invite</a></li>
                    <li><a href="#fb_invite">Facebook Invite</a></li>
                    <li><a href="#twitter_invite">Twitter Invite</a></li>
                    <li><a href="#address_book_invite">Address Book Invite</a></li>
                </ul>
            </div>
        </li>
        <li class="custom-li-last"><a href="#">Normal item!</a></li>
    </ul>
    

    CSS:

    .custom-collapsible {
        margin: 0 !important;   
    }
    
    .custom-collapsible h3 a {
        border-radius: 0 !important;
        border-width:0 !important; 
        border-bottom-width: 1px !important; 
    }
    
    .custom-li {
        padding: 0 !important;
    }
    
    .custom-li-last {
        border-top-width: 0 !important; 
    }
    

    解决方案 2 - 插图版

    工作示例:http://jsfiddle.net/Gajotres/xswkP/

    HTML:

    <ul data-role="listview" data-count-theme="c" data-inset="true">
        <li class="custom-li">
            <div data-role="collapsible" class="custom-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 class="custom-bottom-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>
    

    CSS:

    .custom-li {
        padding: 0 !important;
        border-width:0 !important;
    }
    
    .custom-bottom-li {
        border-top-width: 0 !important;  
    }
    
    .custom-collapsible {
        margin: 0 !important;   
        border-bottom-right-radius: 0 !important;
        border-bottom-left-radius: 0 !important;
        border-width:0 !important;
    }
    

    【讨论】:

    • 因其简单而非凡。我发现了一件事:如果您的 listview 的主题与 page 不同,您必须在每个嵌入的 collapsible 上指定相同的 data-theme 作为容器 listview
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-19
    • 1970-01-01
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多