ExtJs TreePanel使用TreeLoader在IE下无
法正常加载显示的解决方法4
ExtJs TreePanel使用TreeLoader在IE下无法正常加载显示的解决方法
小菜使用如下代码生成TreePanel,代码与ExtJs自带的examples 类似,在Firefox下运行正常,不过在IE下无法正常显示。
Code
Ext.BLANK_IMAGE_URL = '../resources/ext/resources/im ages/default/s.gif';
Ext.onReady(function() {
var ddTree = new Ext.tree.TreePanel({ el: 'ddTree', useArrows: true, enableDD: true, width: 200, height: 300,
loader: new Ext.tree.TreeLoader({
dataUrl: \}),
rootVisible: false,
root: new Ext.tree.AsyncTreeNode({}), listeners: {
'beforeload': beforeloadHandler, 'load': loadHandler } });
ddTree.render();
ddTree.expandAll(); // 展开所有结点 var loading = null;
function beforeloadHandler() { // 加载前事件响应处理 loading = new Ext.LoadMask(Ext.get(ddTree.getEl() ), { msg: \请等待\
loading.show(); }
function loadHandler() { // 加载后事件响应处理
loading.hide(); } }); --> 分析问题:
1、是否是xxx.ashx出现异常?
使用Firefox工作正常,所以排除,并且通过Firebug取到xxx.ashx输出json数据如下,所以该可能排除。
[{\
development\t\e,\
development\t\e,\
2、TreePanel不兼容IE?
这显然是个笑话。不过可以验证下,将Firebug取到的json数据放入root结点的children: json。在IE下工作正常。所以该可能排除。
3、TreeLoader在IE下工作不正常?
暂时其它可能排除了,所以就它最可能了。
那怎么解决呢?可以使用Ajax取到xxx.ashx传来的数据,然后转为json放入root结点的children就ok了。试下。
Code
Ext.BLANK_IMAGE_URL = '../js/ext/images/default/s.gif'; Ext.onReady(function() {
var forumTree = new Ext.tree.TreePanel( { el: 'forumtree', useArrows: true, enableDD: true, width: 200, height: 300, rootVisible: false,
root: new Ext.tree.AsyncTreeNode({}) });
forumTree.render(); // 加载提示 var loading = null;
function showLoading() {
loading = new Ext.LoadMask(Ext.get(forumTree.get El()), { msg: \请等待\
loading.show(); }
function hideLoading() { loading.hide(); }
showLoading();
// 由于使用TreeLoader在IE下无法正常加载数据,所以使用Ajax先获取数据再填充数据到root node下
Ext.Ajax.request({ url: 'xxx.ashx',
success: function(request) {
var data = Ext.util.JSON.decode(request.respons eText); forumTree.getRootNode().appendChild(data);
F1赛车规则
F1是 Formula One 的缩写,中文译做 一级方程式赛车 .所谓一级方程式,就是按照一定的规则限制制造赛车,其中等级最高的就是 F1 。 F1大奖赛、奥运会、世界杯足球赛,被称作是世界三大体育赛事。 目前F1共有11支参赛车队,22辆赛车参赛,每年规划有17站的比赛,通常约在三月中开跑,十月底结束赛季。每站比赛可吸引超过10亿人次透过电视转播或其他媒体观赏这世界顶级的赛事
F1驾照
F1在比赛过程中必须视轮胎的磨耗及油耗的状态进入维修站换胎、加油或对损坏的赛车进行维修,被称为Pit Shop。通常需要21个人来共同完成,F1车队的维修工作人员通常花6到12秒来为赛车加油及换胎。按照现今F1车队的水准来说,通过团队的合作可在7秒内完成对一辆F1赛车的换胎并加满六十公升的汽油。
F1比赛规则 1.总章
F1大奖赛是由FIA(国际汽联)领导的国际性的比赛。由FIA、各车队和各站大奖赛组成。宗旨皆在提高赛车水平和汽车技术的发展。
2.车队及车手
参加比赛的车队和车手必须持有FIA认可的执照。每个车队要有两辆车参加比赛,并指定赛车手代表车队驾车出赛。当赛车手出意外时,可以另外指定车手参赛。但任何车手和车队不可以随意缺赛。
3.排位赛
排位赛是决定正式大奖赛的出发时的排位顺序。在正式比
赛的前一天,决定次日的出发排位顺序。排位赛分为两个阶段。第一阶段每位车手按照上一站的排名进行逐个出场排位。每个车队的车手要在赛道上跑三圈(第一圈暖车到起点;取第二圈的成绩;第三圈进入维修站。因为第二圈是有起点出发再到起点,是完整的一圈。),以单圈的最快成绩来排顺序,第二阶段是由第一阶段的名次倒叙发车。赛车手在两次排位时尽量跑出单圈最好成绩。
4.起跑
当比赛时间到时,首先开始暖胎圈,是为了确保车手的安全。如果此时车手的赛车熄火,则将在出发时排在最后(如果赛车问题严重,经赛会通过可用备用车在Pit中发车);如果车手的赛车还在Pit中,那车手将在Pit的入口处出发。这些车手原来的车位空缺。暖胎后,各车回到发车位,5盏发令灯一盏一盏的亮,全亮后当5盏一起熄灭时,方可起跑。如此时赛车还是熄火不能发动,将退出比赛。
5.比赛中
比赛中车手的赛车如果发生意外,轻度可以重新回到比赛,严重的退出。如赛车熄火,车手能在10秒内重新发动,还可以继续比赛。当赛会认为事故或环境引起危险时,会舞动黄旗,此时出事地点不许超车。如果赛会认为事故或环境使不能正常比赛时,会出动安全车即Safty Car(SC),由SC来领跑,此时不允许任何车辆超车。直到赛会认为可以恢复比赛(允许由SC领跑到比赛结束)。 若赛会认为比赛实在是无法进行下去,可以宣布停止比赛,延迟再赛。当领先的赛车返超慢车时,赛会会舞动蓝旗,示意 慢车赶快让路。
6.在Pit(维修站)中
赛车在比赛中途可以进Pit换胎,加油或维修。进Pit的时间算入比赛时间。当进维修区后,为了保证工作人员安全,车速必须低于100km/h(法国站限速80km/h),否则将被处罚。每辆车都将进入自己的车队的Pit中,在维修区内不得超速, 车手不得离开赛车(如果不能继续比赛的例外)。
7.终点
车手的最后成绩以赛车最先触到Finish line的垂直平面的时间。此时赛会舞动方格旗,过终点后可以绕场庆贺一圈。
8.工作人员
工作人员可以对自己车队的车手发出指示和提示,但不可干扰其他车队的车手比赛。
9.处罚
在Pit中超速,将被罚进Pit行走;如果阻挡反超的领先车,将被罚进Pit通过,如果严重时将被罚在Pit中停10秒。
10.比赛结果
根据比赛的名次,得取积分,具体如下: 第一名--10分 第二名--08分 第三名--06分 第四名---05分 第五名---04分 第六名---03分 第七名---02分 第八名---01分
取得以上名次的车手可以在个人积分上加上相应的分数,他所代表的车队也将获得相应的积分。
11.颁奖
奏冠军的国歌和车队的国歌,然后由承办赛事者颁奖,然后就是开香槟庆祝。