阶段项目总结

归类于SKILL 2 条评论

TOISP项目总结

——2011.06 第一个项目

2011年6月,一次偶然的机会,跟计算机专业的其他高手组成一个团队接受做院一教授发下来的项目,确实偶然~

同年四月份开始接触网页设计,那时候的不确定因素很多,为给自己多些选择所以有了两手准备,即前端工程师和视觉设计师。Photoshop,HTML,CSS,因为有相同方向师兄和同学的帮助,上手的速度快了很多,少走了许多弯路。

技术这东西,说白了光看书真的没效果,甚至是完全没效果,边看边忘,于是PS的进步很快而网页重构还是一直停滞不前,以至于萌生了就走设计的路放弃前端的想法。后来跟朋友谈及做设计这事,又觉得搞设计,计算机出身的肯定拼不过那些美院的专业生,刚好在这进退两难的时刻接到了TOISP这个项目,抱着一种尝试的心态,也算是给自己一个超越这段时间低迷状态的机会。

学了两个月的知识终于派上用场,而第一次就接手一个包揽从页面设计到页面重构的项目,着实压力大。设计还比较顺利,对PS的操作在训练了九十多幅作品熟练了不少,反观重构,第一天单单一个表单就耗了一整天。接下来的页面逐渐上手起来,整个框架搭好差不多用了二十天,经验的缺乏,导致代码很不规范,重复,多余的代码很多,一个页面拿起来就埋头苦敲,整体布局没有规范好,后期的修改实在艰难。

很多技术要点,都是在需要用到的时候查书或者百度来的,再次证实了光看书没用的说法,那么多的知识点靠背是记不住的,还是要在实战中不断理解不断加深印象。

经过这一个项目,就刚开始代码重构那几天,明显感觉自身能力有了很大提高,很明显的感觉,虽然现在再去看那时的代码会觉得是那么的菜鸟,但有进步,就足够了。浏览器的兼容性是这次重构遇到的最大问题,特别是IE6,那个时候开始就对IE6深恶痛绝,明明在很多浏览器上能正常使用,唯独IE6会有或多或少的缺陷,恰巧IE6在中国市场中的份额目前来说依然保持最高,没办法还得迁就IE6。

请狠狠的用鼠标敲击:Demo_TOISP                 请注意:这个Demo在IE8及以下的浏览器不能正常显示

 

TEDxGDUFS网站


——2012.01 第二个项目

寒假拿到了一个小项目,相对于TOISP确实小了很多,纯粹的页面重构,不用设计,而且页面数量也只有六七张。有了之前的经验,这次的操作熟练了,不管HTML还是CSS都严格遵循W3C标准。先搭好Html框架,确认没什么问题后再套上样式表,改变较大的是CSS里面代码的编排,采用紧凑型分块,打好注释。下面是这次重构过程中发现的一些之前没注意的要点:

background:url(../images/search.png) no-repeat; IE8恶心的bug,no-repeat前面必须有空格,不然图片显示不出

行内元素必须设置为block,text-align:center才有效

border:none; text-indent:-999px;用来把按钮取消并隐藏文字,但ie7中会把图片也取消,要加上 display:block;

请狠狠的用鼠标敲击:Demo_TED            请注意这个Demo在Chrome中首页的图片被自动隐藏了,至今原因未明

未来一两个月内暂定计划

两个项目过去,发现实战训练还远远不够,特别是javascript一直没有真正实战。看了两个星期的HTML5和CSS3,有些了解,不过也只是达到了解这个层次,加之目前这两个新兴事物还没有全面普及,还是要先搞定主要任务,让javascript也步入正轨,对个人网站进行整改。

为了继续走下去

归类于BLOG 2 条评论

貌似又遇到了另外一个瓶颈,开始看Ajax,PHP,jQuery,看着看着又回到几个月前学Html和CSS一样,只漂浮于理论表面而没动手实践,这是一个很致命的做法,终于停下来好好思考我要怎么走~~~

上网小查了一下,Ajax最好和PHP连着看,因为Ajax目的也就是对后台数据的发送和接收~~

jQuery尽量找些实例自己敲代码,做出自己想要的效果,也可作为以后的备用库~~

一直想了很久的网站改版都没付诸行动,还是太懒了~~~

从开始重构到现在也有一个多月,有很多问题都需要总结一下~~~

其实写这篇文章,纯粹是为了让我自己有动力继续下去,因为当你看技术类的书看着看着突然很茫然时,真的很痛苦,你不知道下一步怎么走~~

以此小小发泄一下,顺便悼念逝去的Steve Jobs……

第一个项目—重构小感

归类于BLOG 参与评论

说起来自从接触网站四个月来的踏实感和成就感都没这几天高,那些纯理论化的东西,过目便忘,很难消化为自己的,以至于着手写表单的时候,头脑一片空白,感触最深的一句话:要想成为出色的重构者,就必须操练,操练,再操练!! :idea:

短短几天,从表单到首页,明显感觉自身能力有了很大提高,所以写下一些小小的心得体会,欢迎批斗~~
继续阅读

网页头部css代码优化实例

归类于SKILL 4 条评论

在div+css布局中,一般都这样来整体构架的:

<div id=”header”></div>
<div id=”center”></div>
<div id=”footer”></div>

而对于header部分,肯定要显示网站标题,除了显示网站标题外,还可能要显示其他比较重要的对象,比如网站的导航栏:

<div id=”header”>
<div id=”title”>这里是网站的标题</div>
<div id=”nav”>这里是网站导航栏</div>
</div>

继续阅读

浏览器兼容手册

归类于SKILL 一条评论

这是我总结多年的一个小文档,最近看见有人咨询浏览器兼容的问题,就贡献出来。

并不一定全,有的也可能不准确,比如新出的IE8、Chrome等都没有太多涉及,虽然最近做的一些项目也兼容了IE8、Chrome等,但都没来的及总结进去,后来就忘了…汗。大家一起慢慢完善吧。

javascript部分

1. document.form.item 问题
问题:
代码中存在 document.formName.item(“itemName”) 这样的语句,不能在FF下运行
解决方法:
改用 document.formName.elements["elementName"]

2. 集合类对象问题
问题:
代码中许多集合类对象取用时使用(),IE能接受,FF不能
解决方法:
改用 [] 作为下标运算,例:
document.getElementsByName(“inputName”)(1) 改为 document.getElementsByName(“inputName”)[1]

继续阅读

给CodeColorer代码高亮插件开启可视化编辑

归类于SKILL 一条评论

今天闲着无聊冲浪~~~在小孙博客里面看到codecolor开启可视化编辑的操作方法~~~哈哈~捡到了~~~~转给大家~~~ 

我用的 CodeColorer 的版本是 0.9.9,开启方式如下:

在 codecolorer.php 文件中找到以下代码,将其启用即可。
// TinyMCE
// temporarily disabled
if (get_user_option('rich_editing') == 'true') {
add_filter('mce_external_plugins', array('CodeColorerLoader', 'AddTinyMCEPlugin'));
add_filter('mce_buttons', array('CodeColorerLoader', 'RegisterTinyMCEButton'));
}
开启后可视化界面如下: 是的,就是这么简单。装了CodeColorer代码高亮插件的童鞋们赶紧回去折腾吧。。

关于onsubmit

归类于SKILL 5 条评论

这两天看到了DOM这一部分,在submit和onsubmit上面纠结了很久~~~
google和百度了好久都没弄清楚这两者到底有什么区别,最后只好重新在W3C上面看回他们的定义~~
onsubmit:onsubmit 事件会在表单中的确认按钮被点击时发生
Submit:Submit 对象代表 HTML 表单中的一个提交按钮 (submit button)
在 HTML 表单中

<input type="submit" />

标签每出现一次,一个 Submit 对象就会被创建。
在表单提交之前,触发 onclick 事件句柄,并且一个句柄可以通过返回 fasle 来取消表单提交。
所以,有时实在想不清楚就回到起点看定义~~也许就豁然开朗~~~

继续阅读

你不知道的javascript中的this

归类于SKILL 9 条评论

首先必须声明,这东东是我在网上看到的,感觉很实用,借以转载~~~

JavaScript 里的 this 到底指得是什么?很多人都会告诉你 this 指的是当前对象。这样理解对么?在大多数情况下确实没错。比如我们经常会在网页上写这样的 JavaScript:

input type="submit" value="提交" onclick="this.value='正在提交数据'"

这里的this显然指的是当前对象,即这个提交按钮。通常,我们使用this的情况都与此类似。但是有什么情况不是这样的呢? 继续阅读

, , ,

声明式函数定义和引用式函数定义

归类于SKILL 4 条评论

看js时发现有个关于函数的小问题,两种不同的函数定义被调用的顺序不同

function dwn(s)
{
document.write(s + "<br/>");
}
function t1()   //声明式函数
{
dwn("t1");
}
t1();
function t1()   //重新声明了一个新的t1
{
dwn("new t1");
}
t1();
t1=function()   //用函数表达式给t1重新赋值
{
dwn("new new t1");
}
t1();

把 function t1(){ }这种形式,当作是库存, 代码执行时,会先把 function xxx(){} 都拿出来,最先解析执行。 然后再执行剩下的代码

然后剩下的代码为

t1(); //<—– 执行这个t1时, 调用 我们放到一边的 function t1(){}
t1(); //<—– 执行这个t1时, 调用 我们放到一边的 function t1(){}

执行这两句前,第2个function t1()已经用dwn(“new t1″)覆盖掉第一个
dwn(“t1″)t1=function(){      //<—— 执行这句,覆盖了 我们放到一边的 t1 的定义
dwn(“new new t1″);
}
t1(); // <— 执行新的 t1();

Web表单设计之注册表单

归类于SKILL 参与评论

最近开始设计注册的表单,虽说这在重构中是在简单不过了,但设计一个表单和设计好一个表单是两码事。

表单算是交互设计的一个范畴,表单设计的好不好关系到用户的使用体验,所以有很多细节都需要深究。

在UCD上看到一篇关于表单设计的文章,分析得很详细,篇幅太长我就给出链接地址:

 

继续阅读

, , ,

顶部