我是sencha touch 2.0的新手.我有一个html文件.我正在尝试将此html文件(或内容)加载到面板中.我只是使用ajax调用,但它不起作用.以下是代码.
这是我在浏览器中运行的html文件.
index.html:
<script type="text/javascript" src="touch/sencha-touch-debug.js"></script>
<script type="text/javascript" src="HTMLPanel.js"></script>
<script type="text/javascript" src="app.js"></script>
Run Code Online (Sandbox Code Playgroud)
这是app.js:
Ext.setup({
name : 'SampleLoad',
requires : ['HTMLPanel'],
launch : function () {
var HTMLPanel = new HTMLPanel({
scroll : 'vertical',
title : 'My HTML Panel',
url : 'sample.html'
});
}
});
Run Code Online (Sandbox Code Playgroud)
这是HTMLPanel.js:
//HTMLPanel = Ext.extend(Ext.Panel, { //gives error
var HTMLPanel = Ext.define('HTMLPanel',{
extend : 'Ext.Panel',
constructor : function( config ) {
HTMLPanel.superclass.constructor.apply(this, arguments);
// load the html file with ajax …Run Code Online (Sandbox Code Playgroud) 我正在设计一个sencha touch2的应用程序.我的JS文件中有一个面板对象.我需要动态设置此组件的text/html.此组件的存储在应用程序级别定义.以下是我解决的问题:
Ext.define('class_name',{
....
config : {
pnlObj : null,
...
}
initialize : function() {
this.config.pnlObj = Ext.create('Ext.Panel');
var store = Ext.data.Storemanager.lookup('some_store');
store.on('load',this.loadStore,this);
this.setItems([{
//some items here
{
flex : 2,
// id : 'somepnl',
config : this.config.pnlObj
}
}]);
},
loadStore : function(store, rec) {
var text = rec.get('text');
var panel = this.config.pnlObj;
// var panel = Ext.getCmp('somepanl');
panel.setHtml(text);
}
});
Run Code Online (Sandbox Code Playgroud)
当我使用Firebug控制台检查元素时,我可以在那里找到添加的面板.但是我无法动态设置html.那里没有设置html文本.我尝试使用panel.add()和panel.setItems()方法添加它,但这不起作用.如果我给该面板提供一个id(somepanel在这里)并尝试使用Ext.getCmp('smpanel')访问它,那么在这种情况下它工作正常.我发现使用Ext.getCmp()不是一个好习惯,并希望避免它,因为它可能会在将来破坏我的代码.
我想我实例化面板对象的方式是创建一些问题.有人可以建议最好的方法吗?
我在我的应用程序中使用HTML5进度条.我想知道是否有任何方法可以控制进度条的动画速度.我想在一定的时间间隔后显示进度,我使用javascript的setTimeout方法,以便在屏幕渲染后设置值.但动画太快了.有没有办法控制它?
谢谢.