`
evget
  • 浏览: 139126 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
文章分类
社区版块
存档分类

用 JavaScript 创建模块化的交互用户界面

阅读更多
  通过本文,了解使用拖放功能移动 Web 页面的不同部分的技巧。分别实现交互性的不同方面,然后再将它们组合在一起,这样便于灵活定制页面,也让您的 Web 用户非常满意。

  JavaScript 是一种功能强大的语言,可用于创建基于 Web 的应用程序。它已经足够稳定和成熟,完全可以创建与传统桌面应用程序相抗衡的程序,因为后者在稳定性和特性丰富性方面都要胜出一筹。但 JavaScript 最初只是用来向静态 Web 页面添加某些交互性,使它不再是静态页面,它现在还用于此目的。

  我将要展示的这个技巧的关键之处是如何恰当地构建页面,使它能与 JavaScript 代码交互。通常,页面都是通过头脑里固有的 JavaScript 代码构造的。但是,尽管如此,很多时候您都需要向现有页面内添加新的交互特性。而这往往需要一些技巧,因为 JavaScript 代码必须遍历文档结构并在合适的位置添加代码,而且通常还要求不影响现有的结构 — 和页面上已有的 JavaScript 代码。总之,要将对系统的影响最小化。

可切换系统

  本文介绍了一种方法,它通过移动页面的不同部分来激活 页面。具体来讲,就是通过将一个部分拖放到另一个部分之上从而实现可切换 部分的切换。

  要激活这些部分,只需向其添加 class 参数并加载一个 JavaScript 文件。可以通过向 <body> 标记添加 onload 方法来激活代码,此方法会在页面加载之后立即启动代码。代码会处理随后的事情。

注意:本文示例所对应的源代码可以点击这里下载。

  此外,可以尽量多地使用抽象来构造代码。程序的不同元素通常都不必要地相互缠结,UI 代码更是这样。可切换系统由不同的块构建而成,每个块实现交互性的不同部分。这些块结合起来就能实现简单无缝的界面,该界面对于 UI 的试验和调优都很关键。

可切换界面

  可切换系统很容易使用。先由 Web 页面设计人员将某些部分标志为可切换的。然后就可以在任何一个可切换元素上单击并将该元素拖放到另一个可切换元素。放开鼠标按钮后,这两个元素就完成了交换。

  为了能清楚展示所发生的事情,可以使用一些标准的 GUI 操作。

突出显示被拖动的元素

  当第一次单击可切换元素时,在光标下面会出现一个透明的矩形。这个矩形由 coveringDiv() 函数创建,它刚好能覆盖这个可切换元素。实际上是将这个矩形拖放到另一个元素。当拖放时,只有这个透明的矩形会移动 — 初始的元素保持不动直到鼠标按钮被松开为止。

突出显示拖动到的目标

  另一个重要的操作是清晰标识出要拖动到的目标元素。当拖动透明的矩形四处移动时,光标可以经过多个可切换元素。当光标悬浮于某个可切换元素之上时,该元素就会通过另一个透明矩形突出显示。这种突出显示就能清楚地标示出此元素就是拖放到的目标。当松开鼠标按钮时,被拖动的元素和拖放到的目标元素就会互换位置,而且所有透明矩形也会消失,直到下一次切换。

激活系统

  正如先前提到的,必须要使代码对已有系统影响最小。这就意味着页面设计人员 —工作于 HTML 或 XML— 无需涉及可切换系统。这不是他们的工作。

此页面只需具有如下三项内容:

JavaScript 标记
<body> 标记内的 onload 方法
标记为 swappable 的可切换区域
JavaScript 标记

必须将以下标记置于页面文件的顶部:

<script src="rearrange-your-page.js"></script>
此标记在加载过程的早期加载,但它在 body 内的 onload 函数调用之后才会执行。

原文出处:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9098
分享到:
评论

相关推荐

    hyperscript, 使用JavaScript创建超文本.zip

    hyperscript, 使用JavaScript创建超文本 HyperScript使用 JavaScript,客户端或者服务器创建... 交互式演示插件另请参见 mercury,这是一个受影响的模块化用户界面框架,但经过了更多的优化。示例var h = require('hyp

    Android创建UI的新思路:用javascript与Activity进行交互.zip

    我们将项目源码设计为模块化的结构,开发人员可以根据自己的需求选择和定制所需的功能模块。同时,我们还提供了丰富的文档和示例代码,以帮助开发人员理解和使用项目源码。 我们的安卓项目源码还采用了一些常用的...

    基于Javascript的数据化大屏设计源码

    数据化大屏 - 基于Javascript开发,包含45个文件,如PNG、JS、HTML、JPG、CSS、LESS、TTF、...该项目提供了一个数据驱动的大屏展示解决方案,通过界面交互和功能模块,为用户提供了一个高效、易用的数据可视化平台。

    One-Nexus:ONE-NEXUS v4正在积极开发中-直到使用时请谨慎使用-One-Nexus是用于架构和构建模块化前端用户界面的工具包

    One-Nexus是用于架构和构建前端用户界面的工具包 | | 产品特点 从单个JSON文件配置整个项目的UI 模块化和可配置的UI组件 使用Sass和Vanilla JavaScript构建(无jQuery!) 可选的车把模板 Sass和JS单元测试 包括30...

    【小程序素材】康爱多微商城:学习界面设计.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    html+css+bootstrap实现电商农产品电商网站模块设计,绿色食品网站模板必备Organic .zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    html+css+bootstrap实现电商-商城购物网站源码,简约电商网站界面设计模板ninico.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    html+css+bootstrap-家具网页PC端制作,家具电商网站界面设计ui模板neba.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    扁平化宠物医院宠物商店网站模板.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    网站模板免费源代码,现代化电商购物网页设计.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    02-src-ref属性.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    0-1常用类库(外发).pdf

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    生活用品商城响应式模板.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    移动端汽车租赁旅行网站APP模板.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    粉色的化妆品商城手机端模板 APP.7z

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    移动端果蔬零食商城手机模板.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    移动端多种类通用手机模板Flyors app .zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    地产销售订房手机模板Uven APP.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

    【小程序素材】卡卡汽车 获取用户 设备信息.zip

    模块化设计:将系统功能模块化,每个模块负责一类功能,方便扩展和维护。 Responsiveness:后台管理系统应当是响应式设计,能够适配不同设备屏幕大小,包括电脑、平板和手机等。 权限控制:根据用户角色设定不同的...

Global site tag (gtag.js) - Google Analytics