-2

我遇到了英特尔 AppFramework 的问题。我似乎无法使侧面菜单正常工作。

它在您可以从 AppFramework 网站下载的演示中运行良好,但无论我尝试模仿它的效果如何 - 我无法让侧边菜单在我的项目中运行。

在我添加标签之前一切正常,因为这就是您制作侧面菜单的方式。添加这些标签后,整个应用程序将呈现空白/白色,并在控制台中弹出错误消息“Uncaught TypeError: Cannot read property 'hideScrollbars' of undefined”

它与 appframework.ui.js 的第 1100 行有关this.scrollingDivs.menu_scroller.hideScrollbars();

所以看起来这个 menu_scroller 由于某种原因是未定义的。

这是我能给你的尽可能多的代码,它是我的 AppFramework / Phonegap 应用程序的 index.html:http: //pastebin.com/dXtTeiKx

控制台没有说明任何丢失的文件(cordova.js 除外,因为 PC 很好),也没有抛出除我告诉你的错误之外的任何其他 JavaScript 错误,所以我认为我不需要将代码发布到其他所有文件。

我已经尝试使用 AppFramework 3.0 版的标签。

我也尝试过稍微切换一下 JavaScript 包含,包括 appframework.ui 之前的 appframework 并将一些包含放在 index.html 的底部,但如果这些已经解决了问题,则没有。

我还尝试删除所有多余的 css 和 js 包含,但这也不起作用。

这让我相信 AppFramework 本身存在某种错误,或者我只是在做一些可怕的错误或监督了某些事情。

这是 AppFrameworks sidemenu 的文档:http://app-framework-software.intel.com/documentation.php#afui/afui_side您所见,除了将导航内容包含到源代码中之外,它不需要其他任何东西,地狱我什至尝试复制整个

<nav id="leftMenu" class="view"> <header><h1>Left Menu</h1></header> <div class="pages"> <div class="panel active"> This is the left menu </div> </div> </nav>

...但这并没有改变。

4

1 回答 1

1

所以我自己成功地解决了这个问题。我不知道 AppFramework 在后台做了什么样的魔法,但导致导航对我不起作用的问题是我有一个这样定义的面板:

<div data-title="Main menu" id="menu" class="panel" data-footer = "main_footer" data-header = "main_header" data-nav = "main_leftmenu">
    This is the main menu
</div>

导航正确定义如下:

<nav class = "view" id = "main_leftmenu">
    <ul class = "list">
        <li><a href = "#">asd</a></li>
        <li><a href = "#">asd</a></li>
        <li><a href = "#">asd</a></li>
    </ul>
</nav>

就像我说的那样,问题出在面板上;正如你所看到的,它的 id 是“menu”——这就是破坏导航的原因。“菜单”作为面板的 id 很可能是保留的单词或其他内容,因此不应使用它。

我建议如果您使用 AppFramework,您应该在所有内容(尤其是面板)前加上如下内容:

<div data-title="Main menu" id="f_main_menu" class="panel" data-footer = "main_footer" data-header = "main_header" data-nav = "main_leftmenu">
    This is the main menu
</div>

在这里,我为“主”面板添加了“f_”前缀(也有“_main”,但这只是额外的,因此它可以更多地说明面板)。

所以简而言之

为您的面板 id 添加前缀,并且不要给它们中的任何一个添加“main”或“menu”的 id。改用“x_main”和“x_menu”之类的东西。

于 2015-02-13T15:14:37.090 回答