前台异步js发请求代码:
  <script type="text/javascript">
var lightArr;
var lightHistoryArr;
/* 每隔15s刷单灯列表 */
$(document).ready(function() {
setInterval(function() {
$.ajax({
type: "post",
url: "${ctx}/sys/light/refurbishLights",
contentType : "application/x-www-form-urlencoded; charset=UTF-8",
data: { books: "book", txtPass: "123"},
success: function (res) {
lightHistoryArr=lightArr;
lightArr=res;
lightArr=eval("("+lightArr+")");
console.log(lightArr);
var htmlDiv="<div class='indented' style='transition-property: transform; transform-origin: 0px 0px 0px; transform: translate(0px, 0px) translateZ(0px);'><div></div></div>"; for(var i=0;i<lightArr.length;i++){
for(key in lightArr[i]){
//加载变化的路灯
if(lightArr[i][key]!=lightHistoryArr[i][key]){
}
}
var inti=parseInt(i) + 1;
if(inti%2==0){
htmlDiv+="<li data-icon='next' data-selected='selected' style='background-color:#eefaff;'>";
}
if(inti%2!=0){
htmlDiv+="<li data-icon='next' data-selected='selected' style='background-color:#FFFFFF;'>";
}
htmlDiv+="<i class='icon next'></i>";
htmlDiv+="<a href='#light_section?lightGuid="+lightArr[i].lightGuid+"' data-target='section'></a>";
htmlDiv+="<div class='grid'>";
htmlDiv+="<div class='col-1' >";
if(lightArr[i].icon==0){
htmlDiv+="<img alt='dad' src='${pageContext.request.contextPath}/static/images/-hong@2x.png' width='24px' height='24px'>";
}
if(lightArr[i].icon==1){
htmlDiv+="<img alt='dad' src='${ctxStatic}/images/-lv@2x.png' width='24px' height='24px'>";
}
htmlDiv+="<span style='font-family: PingFangSC-Regular;font-size: 16px;color: #333333;letter-spacing: 0;display: inline-block;vertical-align: middle;'>"+lightArr[i].title+"</span></div>";
if(inti%2!=0){
htmlDiv+="<div class='label' style='background-color:FFFFFF;'>";
}
if(inti%2==0){
htmlDiv+="<div class='label' style='background-color:#eefaff;background:#eefaff;'>";
}
if(lightArr[i].icon==0){
htmlDiv+="<span style='background: #FFFFFF;border: 1px solid #666666;border-radius: 4px;color: #666666;padding: 3px 8px;'>已关灯</span>";
}
if(lightArr[i].icon==1){
htmlDiv+="<span style='background: #FFFFFF;border: 1px solid #16c4af;border-radius: 4px;color: #16c4af;padding: 3px 8px;'>已开灯</span>";
}
htmlDiv+="</div></div></li>";
htmlDiv+=""; }
$(".list").html(htmlDiv);
}
})
}, 15000);//15s刷新
});
</script> 后台java代码:
    @ResponseBody
@RequiresPermissions("sys:light:view")
@RequestMapping(value = {"refurbishLights", "12"})
public String refurbishLights(Light light, HttpServletRequest request, HttpServletResponse response, Model model) { try {
org.tempuri.TLight[] lights = phlightSoapProxy.getLights();
org.tempuri.TRoad[] tRoads = phlightSoapProxy.getRoads();
org.tempuri.TAlarm[] tAlarms = phlightSoapProxy.getNewAlarms();
String jsonStr = null;
JSONArray array = new JSONArray();
/* Json格式的数组形式 */
JSONObject obj;
/* json格式的单个对象形式 */
for (int i = 0; i < lights.length; i++ )
{
obj = new JSONObject();
obj.put( "lightGuid", lights[i].getLightGuid() );
obj.put( "title", lights[i].getLightName() );
/* json通过put方式以key-value形式填充 */
obj.put( "icon", lights[i].getYxValue() == 0 ? 0 : 1 );
String state = lights[i].getYxValue() == 0 ? "已关灯" : "已开灯";
obj.put("index","ddzt");
array.put(obj);
/* 将JSONObject添加入JSONArray */
}
model.addAttribute("index", "ddzt");
model.addAttribute( "lights", lights );
model.addAttribute( "lightsJSON", array.toString());
System.out.println(array.toString());
return array.toString();
}catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "success";
}

前台jsp代码:

        <article class="active" id="layout_book_article" style="top:81px;" data-scroll="true">

            <ul class="list" style="transition-property: transform; transform-origin: 0px 0px 0px; transform: translate(0px, -38px) scale(1) translateZ(0px);">
<div class="indented"
style="transition-property: transform; transform-origin: 0px 0px 0px; transform: translate(0px, 0px) translateZ(0px);">
<div></div>
</div>
<c:forEach items="${lights}" var="light" varStatus="index"> <li data-icon="next" data-selected="selected" <c:if test="${(index.index+1)%2 == 0}">style="background-color:#eefaff;"</c:if><c:if test="${(index.index+1)%2 != 0}">style="background-color:#FFFFFF;"</c:if>>
<i class="icon next"></i>
<a href="#light_section?lightGuid=${light.lightGuid}" data-target="section"></a>
<div class="grid">
<div class="col-1" >
<c:if test="${light.yxValue eq 0}"><img alt="dad" src="${pageContext.request.contextPath}/static/images/-hong@2x.png" width="24px" height="24px"></c:if>
<c:if test="${light.yxValue eq 1}"><img alt="dad" src="${ctxStatic}/images/-lv@2x.png" width="24px" height="24px"></c:if>
<span style="font-family: PingFangSC-Regular;font-size: 16px;color: #333333;letter-spacing: 0;display: inline-block;vertical-align: middle;">${light.lightName}</span>
</div>
<div class="label" <c:if test="${(index.index+1)%2 != 0}">style="background-color:FFFFFF;"</c:if><c:if test="${(index.index+1)%2 == 0}">style="background-color:#eefaff;background:#eefaff;"</c:if> >
<c:if test="${light.yxValue eq 0}"><span style="background: #FFFFFF;border: 1px solid #666666;border-radius: 4px;color: #666666;padding: 3px 8px;">已关灯</span></c:if>
<c:if test="${light.yxValue eq 1}"><span style="background: #FFFFFF;border: 1px solid #16c4af;border-radius: 4px;color: #16c4af;padding: 3px 8px;">已开灯</span></c:if>
</div>
</div>
</li>
</c:forEach>
</ul>
</article>
手机自动刷起来:

每隔15s异步刷新手机页面的更多相关文章

  1. 纯css3手机页面图标样式代码

    全部图标:http://hovertree.com/texiao/css/19/ 先看效果: 或者点这里:http://hovertree.com/texiao/css/19/hoverkico.ht ...

  2. 禁止手机页面中A标签长按弹出路径框

    //禁止手机页面中A标签长按弹出路径框    window.onload=function(){        document.documentElement.style.webkitTouchCa ...

  3. JS 模拟手机页面文件的下拉刷新

    js 模拟手机页面文件的下拉刷新初探 老总说需要这个功能,好吧那就看看相关的东西呗 最后弄出了一个简单的下拉刷新页面的形式,还不算太复杂 查看 demo 要在仿真器下才能看到效果,比如chrome的里 ...

  4. 手机页面中的meta标签

    以前看书的时候,觉得meta标签就只有一个charset对于我来说是有用的.前段时间有个学弟让我写个手机版的网页,我才知道原来meta标签有那么多学问. meta指元素可提供有关页面的元信息(meta ...

  5. Ajax异步刷新局部页面的小李子

    看到下面那幅图没有,我们要的是当点击确定以后,根据条形码搜索出商品信息,并且异步刷新右边页面:

  6. 使用fiddler4做代理调试手机页面

    由于一般手机不能改host,手机页面如果涉及到各个域名ip的混合使用,在手机上调试看效果非常麻烦. 使用fiddler4做代理,手机跟电脑连到同一个局域网,手机上网通过电脑做个代理上网,那么一切请求就 ...

  7. 手机页面rem布局

    手机页面设计一般的大小是640,但是,手机屏幕大小确实不确定的,这样,怎么才能做出适应所有手机的手机页面呢?一般的解决方案有两种,rem布局和百分比布局,更推荐用rem布局来制作手机页面. 首先,给页 ...

  8. html禁止手机页面放大缩小

    html禁止手机页面放大缩小 <meta name="viewport" content="width=device-width,minimum-scale=1.0 ...

  9. UC浏览器开发者版调试手机页面

    1 关于RI 目前,在手机上使用浏览器访问网页,无法便捷地进行网页语言调试.手机屏幕相对较小且操作不便,直接在手机上进行网页数据调试不太现实. 因此,我们使用技术将手机网页调试信息分离,实现一种能在大 ...

随机推荐

  1. Python3+WebSockets实现WebSocket通信

    一.说明 1.1 背景说明 前段时间同事说云平台通信使用了个websocket的东西,今天抽空来看一下具体是怎么个通信过程. 从形式上看,websocket是一个应用层协议,socket是数据链路层. ...

  2. php filter_var()

    定义和用法 filter_var() 函数通过指定的过滤器过滤变量. 如果成功,则返回已过滤的数据,如果失败,则返回 false. 语法 filter_var(variable, filter, op ...

  3. C/C++ 指针常量和常量指针

    为了区分是指向常量的指针还是const指针(表示指针本身是常量) 一个简便方法:从由往左读,遇到p就替换为“p is a”,遇到*就替换为“point to”,其余不变. const int * p ...

  4. nginx location指令详解

    Nginx的HTTP配置主要包括三个区块,结构如下: http { //这个是协议级别 include mime.types; default_type application/octet-strea ...

  5. c#winform简单实现Mysql数据库的增删改查的语句

    通过简单的SQL语句实现对数据库的增删改查. 窗口如下: 定义打开与关闭连接函数,方便每次调用: 增加指令: 删除指令: 修改指令: 查找指令: 表格情况:

  6. Shadowmap简易实现

    之前一直没有自己实现过阴影,只是概念上有所了解,这次通过Demo进行实际编写操作. 总的来说没有什么可以优化的,倒是对于窗户这种可用面片代替的物体似乎能优化到贴图上,之前arm有个象棋屋的demo做过 ...

  7. SpringCloud-Consul开发环境配置

    一.consul安装 1.下载:https://www.consul.io/downloads.html: 2.选择版本:本人开发环境是windows,所以选择win64: 3.安装:保存至D:/Sp ...

  8. 2019 途牛旅游网java面试笔试题 (含面试题解析)

      本人5年开发经验.18年年底开始跑路找工作,在互联网寒冬下成功拿到阿里巴巴.今日头条.途牛旅游网等公司offer,岗位是Java后端开发,因为发展原因最终选择去了途牛旅游网,入职一年时间了,也成为 ...

  9. Java自学-日期 Calendar

    Java的Calendar类 Calendar类即日历类,常用于进行"翻日历",比如下个月的今天是哪天 示例 1 : Calendar与Date进行转换 采用单例模式获取日历对象C ...

  10. Java自学-接口与继承 重写

    Java 重写方法 子类可以继承父类的对象方法 在继承后,重复提供该方法,就叫做方法的重写 又叫覆盖 Override 步骤 1 : 父类Item 父类Item有一个方法,叫做effect packa ...