【问题标题】:Navbar overlay in Framework7Framework7中的导航栏覆盖
【发布时间】:2016-10-13 21:54:50
【问题描述】:

我正在使用Framework7 创建适用于 Android 和 iOS 的应用程序,但我遇到了问题:

当我从一个页面切换到另一个页面时,我从中调用的页面的navbar 部分并没有消失,然后第二个页面被覆盖,从而产生了不好的效果。

我添加了view,并使用以下语法初始化了dynamicNavbar 参数:

var Myview = myApp.addView("#myIdView");

这是我的代码:

index.html

<div class="views tabs toolbar-fixed theme-amber">

    <div id="my_list" class="view tab active">
        <div class="navbar">
            <div class="navbar-inner">
                <div class="center">My App Name</div>
            </div>
        </div>
        <div class="pages navbar-fixed">
            <div data-page="my_list" class="page">
                <div class="page-content index">
                    <div class="content-block">
                        <a href="pages/my_new_page.html">
                            <div class="my_item">
                                <div class="left_content">
                                    here my content
                                </div>
                                <div class="right_content ti-angle-right">
                                </div>
                            </div>
                        </a>
                    </div>
                </div>
            </div>
        </div>
    </div>

</div>

my_new_page.html

<div class="navbar">
    <div class="navbar-inner">
        <div class="left">
            <a href="index.html" class="ti-angle-left col_212121 back custom"></a>
        </div>
        <div class="center">
            My new navbar title
        </div>
        <div class="right"></div>
    </div>
</div>
<div class="pages navbar-fixed">
    <div data-page="my_page" class="page">
        <div class="page-content">
            my new content
        </div>
    </div>
</div>   

my-app.js

// Initialize app
var myApp= new Framework7();

// If we need to use custom DOM library, let's save it to $$ variable:
var $$ = Dom7;

// Add view
var Myview = myApp.addView("#my_list", {
    dynamicNavbar: true
});

在所附的屏幕截图中。

【问题讨论】:

    标签: javascript html mobile navbar html-framework-7


    【解决方案1】:

    如果您仔细阅读了动态导航栏部分的 framework7 文档,您会注意到它以这些确切的词开头:

    仅 iOS 主题支持动态导航栏

    iOS 令人敬畏的功能之一是动态导航栏 (导航栏)。导航栏的元素会在页面中滑动和淡出 启用动态导航栏时过渡并向后滑动。

    仅适用于直通式布局

    它应该在视图初始化期间通过传递 dynamicNavbar: true 参数

    在您的 html 代码中,您使用不能与动态导航栏共存的 navbar-fixed 类。举个例子,“my_new_page.html”的html代码应该从:&lt;div class="pages navbar-fixed"&gt;改为&lt;div class="pages navbar-through"&gt;。也应该对您的“index.html”代码进行相同的修改。

    如果您想了解更多有关 framework7 中动态导航栏的信息,请点击以下链接:Framework7 dynamic navbar

    编辑:我还注意到你有一个声明var Myview = myApp.addView("#myIdView");。在您的 HTML 中,我看不到 ID 设置为“myIdView”的 HTML 元素,因此我看不到您希望在哪里声明它。

    您可能应该进行的更多更改:

    在您的 index.html 页面中尝试此更改:&lt;div id="my_list" class="view-main tab active"&gt; 然后转到您的 js 文件并完全像这样修改它:

    // Initialize app
    var myApp= new Framework7();
    
    // If we need to use custom DOM library, let's save it to $$ variable:
    var $$ = Dom7;
    
    // Add view
    var Myview = myApp.addView(".view-main", {
        dynamicNavbar: true
    });
    

    【讨论】:

    • 您好,首先感谢您的回复。我已经使用 iOS 主题(也在 Android 上),我已经使用参数 dynamicNavbar: true 初始化了视图,而且就像你告诉我的那样,使用 navbar-through 类问题仍然存在
    • 不客气。给我几分钟,我将编辑我的答案,添加一些我今天清醒地注意到的事情。
    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多