2

嗨,我有一个基本上是 html 页面的应用程序。我有一个问题,因为 html 页面比可视屏幕长并且页面不会滚动。

我添加了这个 div:

<div id="scrollerId" style="width:320px; height:100px" x-mojo-element="Scroller"> 
    <div >scrolling content</div>
</div>

但它什么也没做。

请有人帮忙解释如何添加一个。或者如果我需要向我的javascript文件或其他任何内容添加任何内容?

source/helloworld.js

    enyo.kind({
        name: "HelloWorld",
        kind: enyo.VFlexBox,
        components: [
        {kind: "PageHeader", components: [
        {content: "Page Header"}
    ]},
    {flex: 1, kind: "Pane", components: [
    {flex: 1, kind: "Scroller", components: [
    //Insert your components here
    ]}
    ]},
    {kind: "Toolbar", components: [
     ]}
]
});

我是新手,webos dev所以对我很轻松。

4

2 回答 2

1

首先欢迎使用 Enyo 和 webOS!请记住,Enyo 是您的框架,它将创建您的 HTML(应用程序)的元素。您通常不会直接操作它 (HTML)。

作为一个简单的示例,您可以在呈现“HelloWorld”类型之后创建您的内容:

** your previous code **
{flex: 1, kind: "Scroller", components: [
    //Insert your components here
    {content: "", name:"myContent"}
    ]}
    ]},
    {kind: "Toolbar", components: []}
    ],
    create: function() {
        this.inherited(arguments);
    },
    rendered: function() {
        this.$.myContent.setContent("I can now add Content!");
    }
});

请注意 Scoller 中添加的名为 myContent 的内容容器。此外,在您的 HTML 文件中删除之前创建的 div。

然后将内容添加到呈现的函数中。

于 2012-02-28T15:03:31.473 回答
1

了解您的目标设备可能会有所帮助。你有一个 Mojo 应用程序和一个 Enyo 应用程序的混合体,看起来像这样。Mojo 适用于手机。如果您的目标是触摸板,您可能应该完全切换到 Enyo。

为了让 Mojo 滚动条在 webOS 中工作,您需要按如下方式启用它:

this.controller.setupWidget("myScroller",
    this.attributes = {
    },
    this.model = {
       scrollbars: true,
        mode: "free"
    });

您可以在此处阅读有关 Mojo 中滚动条的更多信息:

http://webos101.com/Scroller

但是,我认为您需要一个 Enyo 滚动条,这样您就可以摆脱应用程序中的 HTML 并使用上述 XRay Enabler 描述的方法。

可以使用 JavaScript 函数将 HTML 中的 DIV 中的内容拉入 Enyo 类型。这是一个使用 jQuery 的示例:

this.$.myContent.setContent($("#someDiv").html());

请记住,您必须将 allowHtml 设置为 true 才能允许 HTML 内容。

于 2012-02-29T01:43:22.913 回答