JQueryMobile 淡出导航栏

Posted

技术标签:

【中文标题】JQueryMobile 淡出导航栏【英文标题】:JQueryMobile Fading NavBar 【发布时间】:2012-03-22 19:50:06 【问题描述】:

有谁知道如何阻止固定导航栏在我每次滚动时淡入淡出。我正在使用带有以下代码的 jquerymobile 1.0.1,但我无法忍受导航栏如何淡入淡出:

<div data-role="footer" data-id="foo1" data-position="fixed">
    <div data-role="navbar">
        <ul>
            <li><a href="footer-persist-a.html" class="ui-btn-active ui-state-persist">Friends</a></li>
            <li><a href="footer-persist-b.html">Albums</a></li>
            <li><a href="footer-persist-c.html">Emails</a></li>
            <li><a href="footer-persist-d.html">Emails</a></li>
            <li><a href="footer-persist-e.html">Emails</a></li>

        </ul>
    </div><!-- /navbar -->
</div><!-- /footer -->

我不只是想要“切换”修复。我希望它在 100% 的时间内保持 100% 可见。想法?

【问题讨论】:

【参考方案1】:

对于 JQM 1.1,您实际上在页脚设置了 data-tap-toggle="false"。

<div data-role="footer" data-position="fixed" data-tap-toggle="false">
...
</div>

我喜欢这样做来禁用每个页面以及每个固定工具栏、页眉或页脚中的 tapToggle:

$(document).on('pageinit','[data-role=page]', function()
    $('[data-position=fixed]').fixedtoolbar( tapToggle:false );
);

这样我就不必一遍又一遍地输入 data-tap-toggle="false"。

那么如果你使用 JQM 1.0.1 的话:

$('[data-role=page]').live('pageinit', function()
    $.mobile.fixedToolbars.setTouchToggleEnabled(false);
);

【讨论】:

这在用户无法单击切换的意义上起作用,但当我滚动页面时它仍然消失。我只是希望它始终完全可见。有什么想法吗?【参考方案2】:

这是 JQM 1.0.x 用户的普遍不满。他们的开发人员切换了您在其最新版本中引用的动态定位行为。从 JQM 1.1 开始,它们使用不会褪色的真正固定工具栏。 JQM 的稳定版本应该很快就会发布。在那之前你可以使用 1.1-rc1 版本

在旧版本的 JQM 中有一种解决方案,但这只适用于 ios 5:

$(document).bind("mobileinit", function()
  $.mobile.touchOverflowEnabled = true ;
);

【讨论】:

【参考方案3】:

您可以将data-tap-toggle="true" 属性添加到data-role="footer" 元素以禁用点击淡入淡出功能:

tapToggle 布尔值

默认:true

启用或禁用用户切换工具栏可见性的能力 点击屏幕(或点击,鼠标用户)。这个选项也是 作为数据属性公开:data-tap-toggle=""true""

$("[data-role=header]").fixedtoolbar( tapToggle: true );注意:这个 行为以前可配置如下,但从 1.1 版开始 不再支持此语法:

$.mobile.fixedToolbars .setTouchToggleEnabled(false);

来源:http://jquerymobile.com/demos/1.1.0-rc.1/docs/toolbars/bars-fixed-options.html

这应该使您的工具栏始终保持不变。

【讨论】:

这在用户无法单击切换的意义上起作用,但当我滚动页面时它仍然消失。我只是希望它始终完全可见。有什么想法吗? 您使用的是什么版本的 jQuery Mobile?

以上是关于JQueryMobile 淡出导航栏的主要内容,如果未能解决你的问题,请参考以下文章

如何淡出导航栏的最右侧并向其添加新按钮

jQuery Mobile:更新导航栏时替代 .trigger('create') 或 .page()?

jQuery Mobile 简介

jQuery Mobile 简介

带有操作栏图标单击的 NavigationUI 导致片段淡入淡出

如何在iOS6中停止状态栏覆盖导航栏