2016-11-21 56 views
1

我只是嘗試將nativedroid JQM主題應用於外部面板。我知道enhanceWithin()應該完全解決這個問題,但事實並非如此。 Nativedroid css顏色不適用於外部面板。我做了一個JSFiddle來演示這種行爲。與正常的面板萬能確定,但​​外部面板出現沒有應該在那裏的綠色風格。JQM外部面板不包含自定義顏色

JSFiddle Example

如何解決這個問題呢?

jqm external panel styling issue

<script id="panel-init"> 
    $(function() { 
    $("#externalPanel").panel().enhanceWithin(); 
    }); 

</script> 


<div data-role="panel" id="externalPanel" data-position-fixed="true" data-display="push" data-theme="b"> 
    <!-- panel content goes here --> 
    <ul data-role="listview" data-theme="b" data-dividertheme="b" data-inset="false"> 
    <li>External Panel</li> 
    <li data-icon='false'><a href="#"><i class='lIcon fa fa-coffee'></i>Need a Coffee</a></li> 
    <li data-icon='false'><a href="#"><i class='lIcon fa fa-beer'></i>Have a Beer</a></li> 
    <li data-icon='false'><a href="#"><i class='lIcon fa fa-music'></i>Play Music</a></li> 
    <li data-icon='false'><a href="#"><i class='lIcon fa fa-fire'></i>Make a fire</a></li> 
    </ul> 
</div> 
<!-- /panel --> 

<div data-role="page" id="one" data-theme='b'> 
    <div data-role="panel" id="internalPanel" data-position-fixed="true" data-display="push" data-theme="b"> 
    <!-- panel content goes here --> 
    <ul data-role="listview" data-theme="b" data-dividertheme="b" data-inset="false"> 
     <li>Internal Panel</li> 
     <li data-icon='false'><a href="#"><i class='lIcon fa fa-coffee'></i>Need a Coffee</a></li> 
     <li data-icon='false'><a href="#"><i class='lIcon fa fa-beer'></i>Have a Beer</a></li> 
     <li data-icon='false'><a href="#"><i class='lIcon fa fa-music'></i>Play Music</a></li> 
     <li data-icon='false'><a href="#"><i class='lIcon fa fa-fire'></i>Make a fire</a></li> 
    </ul> 
    </div> 
    <!-- /panel --> 
    <div data-role="header" data-theme='b'> 
    <h1>Single page</h1> 
    </div> 
    <!-- /header --> 

    <div role="main" class="ui-content"> 
    <a href="#externalPanel" data-theme="b" data-role="button">Open EXTERNAL panel</a> 
    <a href="#internalPanel" data-theme="b" data-role="button">Open INTERNAL panel</a> 

    <p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea 
     takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores 
     et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p> 
    </div> 
    <!-- /content --> 

</div> 
<!-- /page --> 
+0

只需將'ui-page-theme-b'類添加到'body'作爲面板從頁面繼承。 – Omar

+0

@Omar你是對的!你能不能把它作爲答案張貼,因爲你真的爲我解決了它。並且非常感謝! ;) – Hexodus

+0

很高興幫助:)發表一個答案和一些解釋;) – Omar

回答

0

如果有人有類似的問題 - 解決辦法是:

ui-page-theme-b添加到身體標記,因爲在面板從頁面繼承。

奧馬爾在他的評論中告訴我這個,並建議由我自己發帖回答。