Ext.Panel中定时刷新图片发生闪烁的问题
前台JSP页面中有一句:
<div id="test" style="display:none" ></div>
在Ext中有一个定时器,3秒钟调用一下getRunningInfo方法从后台取数据填充到JsonStore中去,JsonStore定义如下:
var store = new Ext.data.JsonStore({
id : 'aaa',
url : 'getImages',
fields : ['clientSmallPic', 'serverSmallPic', 'clientBigPic',
'serverBigPic']
});
从后台(HttpServlet)传回的数据为JSon格式,如下:
out.println("[{clientSmallPic: 'images/1.png',serverSmallPic: 'images/2.png',clientBigPic: 'images/3.png',serverBigPic: 'images/4.png'}]");
然后以如下方式显示:
var tpl = new Ext.XTemplate(
'<table>',
'<tpl for=".">',
'<tr>',
'<td>',
'<div id="cs{clientSmallPic}" onclick="change(this.id)"><img src="{clientSmallPic}" title="{clientSmallPic}"></div>',
'</td>',
'<td>',
'<div id="ss{clientSmallPic}" onclick="change(this.id)"><img src="{serverSmallPic}" title="{serverSmallPic}"></div>',
'</td>',
'</tr>',
'<tr>',
'<td colspan="2">',
'<div id="cb{clientSmallPic}" style="display: none" onclick="change(this.id)"><img src="{clientBigPic}" title="{clientBigPic}"></div>',
'<div id="sb{clientSmallPic}" style="display: none" onclick="change(this.id)"><img src="{serverBigPic}" title="{serverBigPic}"></div>',
'</td>', '</tr>', '</tpl>', '</table>');
var dv = new Ext.DataView({
id : "dv",
store : store,
tpl : tpl,
autoHeight : true,
itemSelector : 'div.thumb-wrap',
emptyText : '没有图片显示,请稍后重试'
});
var panel = new Ext.Panel({
id : 'images-view',
frame : false,
width : 788,
autoHeight : true,
collapsible : true,
layout : 'fit',
title : '图片',
header : false,
renderTo : "test",
items : [dv]
});
这样显示之后,前台图片刷新时老闪烁,这个怎么解决呢?
我想过双缓冲,自己试了好久没搞成功,怎么在B/S的js中做双缓冲呢?
<div id="test" style="display:none" ></div>
在Ext中有一个定时器,3秒钟调用一下getRunningInfo方法从后台取数据填充到JsonStore中去,JsonStore定义如下:
var store = new Ext.data.JsonStore({
id : 'aaa',
url : 'getImages',
fields : ['clientSmallPic', 'serverSmallPic', 'clientBigPic',
'serverBigPic']
});
从后台(HttpServlet)传回的数据为JSon格式,如下:
out.println("[{clientSmallPic: 'images/1.png',serverSmallPic: 'images/2.png',clientBigPic: 'images/3.png',serverBigPic: 'images/4.png'}]");
然后以如下方式显示:
var tpl = new Ext.XTemplate(
'<table>',
'<tpl for=".">',
'<tr>',
'<td>',
'<div id="cs{clientSmallPic}" onclick="change(this.id)"><img src="{clientSmallPic}" title="{clientSmallPic}"></div>',
'</td>',
'<td>',
'<div id="ss{clientSmallPic}" onclick="change(this.id)"><img src="{serverSmallPic}" title="{serverSmallPic}"></div>',
'</td>',
'</tr>',
'<tr>',
'<td colspan="2">',
'<div id="cb{clientSmallPic}" style="display: none" onclick="change(this.id)"><img src="{clientBigPic}" title="{clientBigPic}"></div>',
'<div id="sb{clientSmallPic}" style="display: none" onclick="change(this.id)"><img src="{serverBigPic}" title="{serverBigPic}"></div>',
'</td>', '</tr>', '</tpl>', '</table>');
var dv = new Ext.DataView({
id : "dv",
store : store,
tpl : tpl,
autoHeight : true,
itemSelector : 'div.thumb-wrap',
emptyText : '没有图片显示,请稍后重试'
});
var panel = new Ext.Panel({
id : 'images-view',
frame : false,
width : 788,
autoHeight : true,
collapsible : true,
layout : 'fit',
title : '图片',
header : false,
renderTo : "test",
items : [dv]
});
这样显示之后,前台图片刷新时老闪烁,这个怎么解决呢?
我想过双缓冲,自己试了好久没搞成功,怎么在B/S的js中做双缓冲呢?
...全文
相关推荐
汽车行业 西门子 SICAR 资料 1
西门子 SICAR
asp.net Coolite TablePanel使用
TabPanel控件使用非常简单,但是功能却非常强大,它同MenuPanel、TreePanel一样提供了很多的集合属性,可以定制出丰富的应用。
《模式识别与数据挖掘》配套PPT课件
《模式识别与数据挖掘》配套PPT课件
科技成果转化项目进场交易前,评估备案环节需要准备哪些材料?_8.docx
科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核
人工智能通识教育(中职版)课程标准+PPT课件+部分素材+电子活页+在线考核


