2012-02-28 59 views
2

嗨我有一个基本上是一个HTML页面的应用程序。 我有一个问题,虽然因为HTML页面比可视屏幕更长,页面不会滚动。垂直滚动html应用webos

伊夫加入这个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对我来说很容易。

回答

1

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

对于魔卷轴到webOS的工作,你需要启用它,如下所示:

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

你可以在魔阅读更多关于滚动条的位置:

http://webos101.com/Scroller

不过,我觉得你想要一个Enyo滚动器,这样你就可以摆脱应用程序中的HTML,并使用XRay Enabler中描述的方法。

可以使用JavaScript函数将HTML中的DIV内容提取为Enyo类型。以下是使用jQuery的示例:

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

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

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!"); 
    } 
}); 

声明呼吁为myContent在Scoller添加的内容容器。此外,删除您的HTML文件中以前创建的div。

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