`
webdev2014
  • 浏览: 683333 次
文章分类
社区版块
存档分类
最新评论

程序员必须掌握——界面设计

 
阅读更多

一听说某程序员在做界面设计,也许会嗤之以鼻。

界面设计,哼,有什么困难,又有什么技术含量,不就是橫画画竖画画嘛,没得可提,更没法跟后台研发比。

但是这种观点大错特错。其实界面设计并非我们想象的那样容易,若是非得说没什么技术含量,那只能说明一个问题:我们没有认认真真得去做界面。而是把重心全部放在后台功能实现了。不管别人信不信,反正我信了。

其实,界面设计,不仅折射出我们的态度,同时体现一个人的思想。

比如对一个查询出来数据列表进行增删改查操作的界面,请问你脑海中第一个画面是如何的?

我想大部分应该是这样的吧:


曾有过开发经验的,会在此基础继续完善,因为若是查询的结果太多,整个页面盛放不下,所以必须有个分页。好滴,我们继续完善。


这个界面功能俱全啊,分页有了,功能也有了。这下应该好了吧。但是不然,再仔细看看,还是有点别扭。没有吧,看过drp的都知道,视频老师可是这么设计的。对,drp中确实如此,但是并不代表这样设计的有思想,设计的最棒。本着以全心全意为人民服务的角度,我们继续完善:


看出这个图与上图的区别了吗?

只有加了样式吗?其中一个最重要的变化是:分页靠右,功能按钮靠左。知道为什么吗?

这个举动背后可是隐藏了很大的秘密。

这样设计应该是考虑很周到了吧。只能说基本可以了吧。但是想过这个问题吗?虽然使用了分页技术,但是每页的记录差不多十条记录吧。那对第一二条的记录进行操作,有没有感觉到别扭呢?从第一条移动鼠标定位下面的功能按钮?这么长的距离,有没有想过如何减少移动的距离,其实若是将就一些,其实也没问题,但是将就问题,就等于放弃思考的机会,放弃进步的机会。那如何办呢?


看看这个图有什么变化呢?对了,比上图多了一行菜单,左边功能菜单,右边分页菜单,利用这样的方式即可介绍上述距离长的问题。

那若是熟练于此系统此页面,再使用这样方式进行操作是不是有点不专业,高手不使用鼠标,而是使用快捷键使用快捷键的人士,给人一种神秘感,一种专业感,让人不由升起敬佩之情。

因此,这个页面可以使用快捷键来控制。快捷键功能小弟没实现,只是有这个想法。但是小弟使用另一种方便的操作—右键功能。

在此网页上,对这个列表使用右键功能。在实现右键菜单功能时,发现了一个问题。iegetElementsByName函数不支持divtable标签。它只支持html中自带的控件,比如buttoninput标签。但是右击菜单的思路是在一行中点击任何地方即可弹出右击菜单,所以需要设置一行中所有列字段的name值相同。但是这种思路火狐,谷歌都没问题。唯有ie不可用。

解决方案如下:小弟重写了getElementsByName这个函数。

  var tags=new Array( "A","DIV","INPUT");
   
    //重写getElementsByName方法
    var getElementsByName = function(tag, name){
		
		 var returns = document.getElementsByName(name); 
         if(returns.length>1)
		 {
			 return  returns;
	     }
		 returns=new Array(); 
		 for(var i=0;i<tag.length;i++)
		 {
			  var e = document.getElementsByTagName(tag[i]);
			   for(var j=0;j<e.length;j++)
			   {
				   if(e[j].getAttribute('name')==name)
				      {
						  returns[returns.length]=e[j];
						}
			   }
		 }
		 
		  return returns;
	 };

使用这个函数时,首先判断若是ie浏览器则使用重写的函数。若是其他的浏览器,则直接调用本身的函数即可。

//若是ie浏览器
		if(document.all && window.external)
		 {
			 returns[returns.length-1].checked=true;	 
		 }
		 else
		 {
			  getElementsByName(tags,num).item(2).checked = true;
		}

通过这系列,界面设计是想象的那么容易吗?原来自己设计的界面之所以感觉容易,并且感觉从中学习不到什么,是因为当初没有给自己学习的机会,没有把精力投入界面中,而是完全注重功能实现

其实,当学习一个东西的时候,应该多思考一些。思考尝试,这就是项目经验,不思考不尝试,肯定没有什么收获。

分享到:
评论

相关推荐

    iOS高级程序员进阶——页面开发核心技术篇

    作为iOS开发者,界面开发技术是必须要熟练掌握的。一款优秀的iOS应用,除了业务逻辑都需要通过界面来呈现外,用户体验上的优化、性能与动画的调优等也都需要扎实的界面开发技术作为基础。 在面试中,界面开发技术与...

    数据库课程设计——图书管理系统.doc

    数据库系统原理课程设计 课题名称:图书信息管理系统 姓 名: 班 级: 学 号: 指导老师: 2014年 01月 02日 目录 1.绪论 3 1。1 背景介绍 3 1.2 开发背景的选用及介绍 3 2.需求分析 4 2.1 系统分析 4 2。2 系统目标...

    c语言课程设计-职工信息管理系统方案.doc

    XXXXXXX大 学 课程设计说明书 名称 计算机语言C课程设计 —— 职工信息管理系统设计 2011 年 6月20 日至 2011年6 月26 日 共1 周 院 系 . 班 级 . 姓 名 . 学 号 . 系 主 任 . 教研室主任 . 指导教师 . 目 录 一、...

    Google.Android开发入门与实战

    7.1 第一印象很重要——界面UI元素介绍 7.1.1 视图组件(View) 7.1.2 视图容器组件(Viewgroup) 7.1.3 布局组件(Layout) 7.1.4 布局参数(LayoutParams) 7.2 我的美丽我做主——Android中应用界面布局 7.2.1 实例操作...

    asp.net知识库

    动态调用对象的属性和方法——性能和灵活性兼备的方法 消除由try/catch语句带来的warning 微软的应试题完整版(附答案) 一个时间转换的问题,顺便谈谈搜索技巧 .net中的正则表达式使用高级技巧 (一) C#静态成员和...

    掌握Ajax.rar

    本系列的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概述到细节的讨论 —— 使高效的 Web 开发成为现实。他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不...

    Android程序设计基础

     作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟...

    windows环境下32位汇编语言程序设计

    而且,我们惊喜地发现,做了“好市民”以后,我们反而拥有了和其他语言同样的权利——为了做图形和界面等方面的功能,汇编程序员在DOS时代连做梦都在羡慕C语言庞大的函数库,而现在,Windows为我们提供了比这还要多...

    21天学通Java_6

    “如果您只有一本Java图书,它应该是本书。” ——《个人电脑》杂志,美国最为知名的IT类专业杂志之一。... 本书可作为初学者学习Java编程技术的教程,也可供已掌握其他语言的程序员学习Java时参考。

    《iOS6开发指南》精彩书摘

    本书是智捷iOS课堂团队编写iOS系列丛书中的一本,目的是使一个有Objective-C基础的程序员通过本书的学习,能够从零基础到在App Store发布一款应用。全书分为4篇:  第一部分基础篇,介绍了iOS一些基础的知识。 第1...

    电子CAD教学设计.doc

    培养学生独立制图能力,使学生 不仅具有熟练绘制原理图和基本设计能力,还具有分析电路和识图的能力,并养成诚信 、刻苦、善于沟通和团队合作的职业素质,成为符合电子绘图员、电子工程师、无线电 调试工、程序员等...

    掌握AJAX第1/7页

    本文的作者是一位 Ajax 专家,他演示了这些技术如何协同工作 —— 从总体概述到细节的讨论 —— 使高效的 Web 开发成为现实。他还揭开了 Ajax 核心概念的神秘面纱,包括 XMLHttpRequest 对象。 五年前,如果不知道 ...

    掌握Ajax,第1部分:Ajax简介

    本文的作者是一位Ajax专家,他演示了这些技术如何协同工作——从总体概述到细节的讨论——使高效的Web开发成为现实。他还揭开了Ajax核心概念的神秘面纱,包括XMLHttpRequest对象。五年前,如果不知道XML,您就是一只...

    亮剑.NET深入体验与实战精要2

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    亮剑.NET深入体验与实战精要3

    此次将长期的思考、感悟,多年的系统开发、设计和团队管理经验,以及深入分析众多项目实战的宝贵成果和盘托出,力求将编程思想与具体实践融为一体,提炼出适合于广大读者快速理解和彻底掌握.NET软件开发的最佳学习...

    VB6.0简体中文版.rar

    vb6.0简体中文企业版,从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。vb6.0源自于BASIC编程语言。Visual Basic 6.0拥有图形用户界面(GUI)和快速应用程序开发...

    Objective-C基础教程(第2版)

    无论你是初次接触Objective-C和Cocoa,还是已有丰富的C语言、C++或者Java编程经验,本书都能让你轻松过渡并熟练掌握Objective-C! 本书三位作者是顶级苹果专家,书中以苹果最新的Xcode 4.x工具为基础,详细讲述了...

    精通Qt4编程(第二版)源代码

    程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和手写代码...

    精通qt4编程(源代码)

    程序主窗口—— QMainWindow 卢传富 Qt应用程序的主窗口是由多个部件/组件构成的框架,本章通过一个简单文本编辑器的例子,介绍了主窗口的菜单、工具条、中心部件、锚接部件和状态条,并通过Qt设计器绘制和手写代码...

Global site tag (gtag.js) - Google Analytics