2016-11-21 5 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 в тег тела, так как панель наследует от страницы.

Омар сказал мне это в своем комментарии и посоветовал опубликовать его сам в качестве ответа.