zoukankan      html  css  js  c++  java
  • 开发文档——切dvd库

     
    介绍
     
      这几天忙着赶需求。主要是因为切dvd库,这样出现了要把两个资料库的内容揉在一起显示,显示的时候主要问题发生在后加载(把两块的内容分布显示)上。除了复杂的业务需求外,还有技术细节上的实践。——这里后加载,我们权当翻页(道理一样)。
     
     

     
    索引
     
     
    基本思路
     
     

    基本思想是

      1)初始的时候,会同时到两个数据源取值。

      2)下次取值的时候,会把两个时间点(2001和2006)发到服务端,哪个时间长就取哪段数据。然后重新初始化大时间点数据。

      3)如果服务端遇到两个时间点相同,那么就同初始化操作一样,再到两个数据源取数据。

      4)如果数据为空,那么把对应时间设置为0000。

    处理架构
     
     

                                       PHP第一次加载(点击查看大图)

                                       JS初始化(点击查看大图)——其中包括JS滚动加载

                                        PHP后加载(点击查看大图)

                                         JS滚动加载

    已在JS初始化图片上。

     
    JS脚本问题
     
    innerHTML在IE下无法赋值
     
    原来习惯于用这种方式累加值——出现“未知的运行时错误”。
    $('tableId').innerHTML += $("tableId").innerHTML + value;

                                        处理方案,也是最终代码——tr和tbody在ie下只有可读属性,不能赋值。

    数字属性默认会被排序
     
     
        var opus = {
            '2010':'result:2010',
            '2008':'result:2008',
            '2009':'result:2009'
        }
    
        for(var property in opus){
           console.log(property);
        }
    

                                        运行时结果

                                        最后解决办法

     
    delete 与 splice
     
    delete 之后,虽然元素被删除了,但是那个删除的位置还存在,只是变成了undefined。
    所以使用splice删除元素。
     
    有人提出delete比splice 效率高,我的业务来说没有那么大的数据量splice还是可以接受的。
                                         最终代码

     
    总结
     

      终于算是完成了,一开始设计的时候挺简单,越到后来条件越来越多,代码也越来越大起来。

    推荐
     
  • 相关阅读:
    Golang语言编程规范
    关于redis的几件小事(三)redis的数据类型与使用场景
    关于redis的几件小事(二)redis线程模型
    关于redis的几件小事(一)redis的使用目的与问题
    关于MQ的几件小事(七)如果让你设计一个MQ,你怎么设计
    关于MQ的几件小事(六)消息积压在消息队列里怎么办
    关于MQ的几件小事(五)如何保证消息按顺序执行
    关于MQ的几件小事(四)如何保证消息不丢失
    关于MQ的几件小事(三)如何保证消息不重复消费
    关于MQ的几件小事(二)如何保证消息队列的高可用
  • 原文地址:https://www.cnblogs.com/baochuan/p/2626549.html
Copyright © 2011-2022 走看看