2013-01-10 89 views
1

下面是導航欄的定義,也就是幾個屏幕中所使用的視圖模板的一部分:劍術:啓用導航欄/禁用按鈕

<div data-role="layout" data-id="app"> 
     <header data-role="header"> 
      <div data-role="navbar"> 
       <a class="nav-button" data-align="left" data-role="backbutton">Back</a> 
       <span data-role="view-title">Title</span> 
       <a class="nav-button" data-align="right" data-role="button" data-click="doneTapped" id="btnDone">Done</a> 
      </div> 
     </header> 
    </div> 

的「完成」按鈕時,才需要在某些屏幕,所以它被隱藏在主網頁加載:

$("#btnDone").hide(); 

隱藏按鈕做工精細,但顯示再次不起作用:

$("#btnDone").show(); 

該按鈕不顯示。

回答

0

而不是使用和$("#btnDone").show();使用:

隱藏按鈕:

$("#btnDone").css("visibility", "hidden"); 

顯示按鈕:

$("#btnDone").css("visibility", "visible"); 
0

的東西,有我在這種情況下的工作是把一個類在按鈕上我想顯示/隱藏,而不是依靠ID:

<div data-role="layout" data-id="app"> 
    <header data-role="header"> 
     <div data-role="navbar"> 
      <a class="nav-button" data-align="left" data-role="backbutton">Back</a> 
      <span data-role="view-title">Title</span> 
      <a class="nav-button btnDone" data-align="right" data-role="button" data-click="doneTapped" id="btnDone">Done</a> 
     </div> 
    </header> 
</div> 

然後使用類來隱藏:

$(".btnDone").hide(); 

希望這對你的作品也是如此。

0

薩拉姆,
嘗試以下操作:

<!--Home--> 
    <div id="tabstrip-home" 
     data-role="view" 
     data-init="app.home" 
     data-title="Home"> 

     <!--Header--> 
     <header data-role="header"> 
      <div data-role="navbar"> 
       <a class="nav-button" data-align="left" data-role="backbutton">Back</a> 
       <span data-role="view-title">Title</span> 
       <a class="nav-button" data-align="right" data-role="button" data-click="doneTapped" id="btnDone">Done</a> 
      </div> 
     </header> 

     <!--Content--> 
     <div class="view-content"> 
      <h1>Hide/Show Navbar Elements</h1> 
      <p> 
       <center> 
       <a data-align="left" data-role="button" data-click="app.show">Show</a> 
       </center> 
       <br /> 
       <center> 
       <a data-align="left" data-role="button" data-click="app.hide">Hide</a> 
       </center> 
      </p> 

     </div> 
    </div> 


在數據初始化= 「app.home」 功能找到導航欄,那麼leftElement,並有對它們的引用,然後你可以控制它,例如:

var navbar = null; 
var left = null; 
global.app.home = function (e) { 
    navbar = e.sender.header.find('div[data-role="navbar"]').data('kendoMobileNavBar'); 
    left = navbar.leftElement; 
    console.log(left); 

}; 

global.app.show = function (e) { 
    left.show(); 
}; 

global.app.hide = function (e) { 
    left.hide(); 
}; 

請看工作示例這裏:http://jsbin.com/EpInoQOq/1/edit
問候

0

我處理隱藏和shwowing不同的看法後退按鈕是使用2種不同的佈局方式。這很適合於我的使用情況下,我只顯示1頁上的後退按鈕:

<div   data-layout="layoutBackButton" 
      data-role="view" 
...> 

 <!--Default Layout with Main Menu and no backbutton--> 
     <div data-role="layout" data-id="layout"> 

      <!--Header--> 
      <div data-role="header"> 
       <div data-role="navbar"> 
        <span data-role="view-title"></span> 
       </div> 
      </div> 

      <!--Footer--> 
      <div data-role="footer"> 
       <div data-role="tabstrip"> 
.... 
       </div> 
      </div> 
     </div> 

     <!--Layout with Back Button--> 
     <div data-role="layout" data-id="layoutBackButton"> 

      <div data-role="header"> 
       <div data-role="navbar"> 
        <a data-role="backbutton" data-align="left"> 
         <!-- data-bind="isVisible: showBackButton" --> 
         <i class="fa fa-chevron-left fa-lg"></i> 
        </a> 
        <span data-role="view-title"></span> 
       </div> 
      </div> 
     </div> 

使用則後退按鈕指定其他的佈局我的遠程視圖