浏览器的文档模式-“标准模式”和“怪异模式” | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (23)
目录1. 前言2. 概述3. 文档模式3.1. 注意事项3.2. 常用声明4. 典型区别4.1. 盒模型的处理差异4.2. 行内元素的垂直对齐4.3. width4.4. 行内元素高度宽度4.5. 百分比高度4.6. margin:0 auto设置水平居中
前言  所谓的标准模式是指,浏览器按W3C标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。浏览器解析时到底使用标准模式还是怪异模式,与你网页中的DTD声明直接相关,DTD声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略DTD声明,将使网页进入怪异模式(quirks mode)。《JavaScript权威指南》对此描述如下:
概述  由于历史的原因,不同浏览器对页面的渲染是不同的,甚至同一浏览器的不同版本也是不同的。在W3C标准出台之前,不同的浏览器在页面的渲染上没有同一的规范,产生了差异,即Quirks mode(怪异模式或兼容模式);当W3C标准出台之后,不同浏览器对页面的渲染有了统一的标准,即Strict...阅读全文

智慧交通数据可视化展现Demo | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (21)
交互方式及效果呈现demo源码托管于github,详见Github gcidea/data-visualization
下载完整的文件目录,浏览器(推荐Chrome)打开根目录下index.html即可。五个模块所需的测试数据文件在根目录下的data文件夹中,分别为data1—data5
目标区域驻留人数统计1.选择已经处理好的数据csv文件2.选择日期3.查看目标区域驻留人数统计情况
高铁到发站人流量统计1.文件引入与时间选择同上2.查看高铁到发站人流量统计情况3.点击某个高铁站可查询具体情况
地铁到发站人流量统计1.文件引入与时间选择同上2.查看高铁到发站人流量统计情况-全市站点3.点击某个站点可查询具体情况
行政区客流量分析1.文件引入与时间选择同上2.查看行政区客流量分析
城市职住分布1.文件引入与时间选择同上2.查看居住地人口分布热力图3.查看职住比蜂窝图
改进作为demo,目前还有很多可以完善的地方,比如支持更多种数据源,支持更多种数据展现形式等。
...阅读全文

AngularJs的$emit和$broadcast事件分析 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (24)
目录1. 前言2. $emit2.1. 作用2.2. 参数2.3. 示例3. $broadcast3.1. 作用3.2. 参数3.3. 示例
前言  Angular的作用域在本质上是分层次的:它们可以通过父子关系很自然地来回沟通。但通常,作用域是不共享变量的,它们执行的功能往往各不相同,跟在父树上的位置无关。在这种情况下,我们可以通过在这个链上传递事件的方式在作用域之间通信。  因为作用域是有层次的,所以我们可以在作用域链上传递事件。通常来说,选择要使用的事件传递方式,一个好的经验法则是:查看将要触发事件的作用域。如果要通知整个事件系统(允许任意作用域处理这个事件),就要往下广播。  另一方面,如果要提醒一个全局模块,我们最终需要通知高层次的作用域(例如$rootScope),并且需要把事件向上传递。
$emit作用  要把事件沿着作用域链向上派送(从子作用域到父作用域),我们要使用$emit()函数。一个$emit()事件函数的调用中,事件从子作用域冒泡到父作用域。在产生事件的作用域之上的所有作用域都会收到这个事件的通知。当想要跟应用的其他部分交流状态的变更时,我们使用$emit...阅读全文

AngularJs中$scope.$apply()方法总结 | GCidea's blog

作者:JerryXia | 发表于 , 阅读 (30)
目录1. 功能2. 参数3. 示例一4. 示例二5. 注意事项
功能  $apply()函数可以从Angular框架的外部让表达式在Angular上下文内部执行。例如,假设你实现了一个setTimeout()或者使用第三方库并且想让事件运行在Angular上下文内部时,就必须使用$apply()。
参数  $apply()函数接受一个可选的参数。这个表达式可选地接受一个字符串或函数,并且是在当前作用域内执行。如果传入一个字符串,$apply()首先会在这个字符串上调用$eval(),以强制Angular在局部作用域上下文中使用$eval()运行字符串表达式。如果传入一个函数,这个函数将会在所传入的函数作用域上执行。$exceptionHandler服务会捕获和处理$eval()方法抛出的所有异常。最后,$apply()方法还会直接调用$digest循环。
示例一12345678910111213// 使用要eval的字符串调用$apply示例$scope.$apply('message = "Hello World"');// 使用函数的方式并给函数传入一个作用域$scope.a...阅读全文