英特尔应用框架 - 侧边菜单不起作用

时间:2015-02-10 15:04:50

标签: javascript jquery html web-applications appframework

我遇到了英特尔AppFramework的问题。我似乎无法让侧面工作。

它可以在AppFramework网站上下载的演示中运行良好,但不管我试图模仿它的程度如何 - 我无法让侧面菜单处理我的项目。

一切正常,直到我添加标签,因为这就是你如何制作侧面菜单。添加这些标签后,整个应用程序将呈现空白/白色,并在控制台中弹出一个错误" Uncaught TypeError:无法读取属性' hideScrollbars'未定义"

它与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之前的appframework.ui,并将一些包含放在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>

......但这没有改变。

1 个答案:

答案 0 :(得分: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正确定义如下:

<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“菜单” - 这就是打破导航的原因。 “菜单”作为面板的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添加前缀,不要为其中任何一个ID为“main”或“menu”。使用“x_main”和“x_menu”之类的东西。