文章目录
前言
简要介绍需要用到的库。
一、jQuery
jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。
jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。运行jQuery所需的条件很简单:一台计算机、一个智能电话或一个可以运行现代浏览器的设备。jQuery对浏览器的要求也相当自由,jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+、Chrome 8+等。
语言特点
快速获取文档元素,jQuery的选择机制构建于Css的选择器,它提供了快速查询DOM文档中元素的能力,而且大大强化了JavaScript中获取页面元素的方式。
·提供漂亮的页面动态效果,jQuery中内置了一系列的动画效果,可以开发出非常漂亮的网页,许多网站都使用jQuery的内置的效果,比如淡入淡出、元素移除等动态特效。
·创建AJAX无刷新网页,AJAX是异步的JavaScript和XML的简称,可以开发出非常灵敏无刷新的网页,特别是开发服务器端网页时,比如PHP网站,需要往返地与服务器通信,如果不使用AJAX,每次数据更新不得不重新刷新网页,而使用AJAX特效后,可以对页面进行局部刷新,提供动态的效果。
· 提供对JavaScript语言的增强,jQuery提供了对基本JavaScript结构的增强,比如元素迭代和数组处理等操作。
·增强的事件处理,jQuery提供了各种页面事件,它可以避免程序员在HTML中添加太多事件处理代码,最重要的是,它的事件处理器消除了各种浏览器兼容性问题。
·更改网页内容,jQuery可以修改网页中的内容,比如更改网页的文本、插入或者翻转网页图像,jQuery简化了原本使用JavaScript代码需要处理的方式。
工作原理
· jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。
· 在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。
·浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。
·在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能;异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态;数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队操作,并确保函数按顺序执行,它基于数据缓存模块实现。
·在功能模块中,事件系统提供了统一的事件绑定、响应、手动触发和移除机制,它并没有将事件直接绑定到DOM元素上,而是基于数据缓存模块来管理事件;Ajax模块允许从服务器上加载数据,而不用刷新页面,它基于异步队列模块来管理和触发回调函数;动画模块用于向网页中添加动画效果,它基于队列模块来管理和执行动画函数;属性操作模块用于对HTML属性和DOM属性进行读取、设置和移除操作;DOM遍历模块用于在DoM树中遍历父元素、子元素和兄弟元素;DOM操作模块用于插入、移除、复制和替换DOM元素;样式操作模块用于获取计算样式或设置内联样式;坐标模块用于读取或设置DOM元素的文档坐标;尺寸模块用于获取DOM元素的高度和宽度。
二、jsPlumb
jsPlumb工具集围绕开源库提供了很多功能:
- 通过客户端模板进行数据绑定,支持连接的可声明配置。
- 一个基本直接(有向)的图层,允许你通过多种途径查询数据。
- 一个全景或缩放的小配件,有能力序列化它的状态(手动或自动)到本地的存储或Cookie。
- 一个略缩图小配件,协助导航到大数据集。
- 自动布局(Hierarchical, Spring, Circular, Balloon, Absolute),增加你的能力,可以写属于你自己的应用。
- 一个强大的声明机制,在用户界面的很多方面定义强大的表现或行为。
- 数据加载或保存,不仅可以自动,也可以按需定制。
- 要查询社区版的文档,可以访问 Github上的站点
三、Bootstrap 、D3、JSON
Bootstrap
Bootstrap是美国Twitter公司的设计师Mark Otto和Jacob Thornton合作基于HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷。Bootstrap提供了优雅的HTML和CSS规范,它即是由动态CSS语言Less写成。Bootstrap一经推出后颇受欢迎,一直是GitHub上的热门开源项目,包括NASA的MSNBC(微软全国广播公司)的Breaking News都使用了该项目。
Bootstrap包含有以下内容
· 基本结构:Bootstrap 提供了一个带有网格系统、链接样式、背景的基本结构。这将在Bootstrap 基本结构部分详细讲解。
· CSS:Bootstrap 自带以下特性:全局的 CSS设置、定义基本的 HTML 元素样式、可扩展的 class,以及一个先进的网格系统。
· 组件:Bootstrap 包含了十几个可重用的组件,用于创建图像、下拉菜单、导航、警告框、弹出框等等。这将在布局组件部分详细讲解。
· JavaScript 插件:Bootstrap包含了十几个自定义的jQuery 插件。您可以直接包含所有的插件,也可以逐个包含这些插件。
· 定制:您可以定制Bootstrap的组件、LESS 变量和jQuery 插件来得到您自己的版本。
Bootstrap支持组件
· Bootstrap中包含了丰富的Web组件,根据这些组件,可以快速的搭建一个漂亮、功能完备的网站,其中包括以下组件:
· 下拉菜单、按钮组、按钮下拉菜单、导航、导航条、路径导航、分页、排版、缩略图、警告对话框、进度条、媒体对象等
Bootstrap框架代码
可以对Bootstrap中所有的CSS变量进行修改,依据自己的需求裁剪代码。
D3介绍
· D3(Data-Driven Documents)是基于数据的文档操作javascript库,D3能够把数据和HTML、SVG、CSS结合起来,创造出可交互的数据图表。
JSON介绍
· JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
· 简单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。
四、界面和计算的扩展
界面介绍
· 定义了全新的画布对象:$flowPanel。
· 用树图清晰地表达事件树各层次的概率。
· 完全兼容已完成的故障树界面算法。
· 选定故障树进行顶上概率计算能同步显示到关联的事件。
· 节点信息的输入框新增了“后果”数据,编辑以后同步到“风险值”和界面节点右侧标记。
· 用于建模的工具栏和节点信息输入框,点击其头部,实现淡入淡出。
计算介绍
· 建立全局树索引表,提高算法效率。
· 定义当前选定的顶上节点和当前故障树集合,随时可以组织合适的数据进行计算。
· 与已有求割集、径集、结构重要度、顶上事件概率、概率重要度、临界重要度算法无缝结合。
· 每次计算前,只需要简单初始化索引表,就能很大程度提高后续计算的速度。
· 将故障树算法专门提取出来形成一个文件,模块结构更加清晰。
总结
创作过程需要符合已有的规范,需要用到包括且不限于上面提到的库,也会设计前所未有的新功能。