前端开发总结(四)

图片

最好一种类型的背景图片可以放在一个png里面,且该图片不用repeat,使用background-position来展示,比如左右箭头(可点击与不可点击)

全局性的图片,比如loading图,背景图等可以在用户登录页面预先加载,提高用户体验。

页面布局

酌情考虑是用table还是ul还是div,且在定宽之前要以需显示最多字符的情况为参考

要注意的是在EDM(电子邮件营销)里面的内容最好采用table的方式,具体原因和EDM的详细情况会另外写一篇

文件上传

 需要在配置里面加上

<result name="success" type="json">
           <param name="contentType">text/html</param>
</result>

否则IE下会将返回的data当做文件来下载,前提是使用json格式返回的数据

文件下载

如果不是使用window.location.href的方式下载文件,那么在使用form插件时要加jframe:true

但是加了这个之后action无法进入success方法,会canceled掉

JS

样式的改变用addClass和removeClass,少用级联样式形式

尽可能用html()替代append(),prev()等插入操作

选择器多使用ID而不是class,或者在选择器之前加上ID等减少遍历次数,$(‘#div’).find(‘.a’)的效率高于$(‘#div .a’).jquery查找节点是从右往左查找,会先查找‘.a’再判断’.a’是否有’#div’节点。

对于一些公共的方法或者组件,可以将属于同一种类型的方法封装为一个util对象,内部引用通过this.XXX()

外部引用通过utilxxxx.xxxx().同时要注意JS对于私有方法也有规范,通常为方法名前加_。

提高jQuery效率: http://www.jb51.net/article/24740.htm

在循环中使用i<length时,length使用变量缓存下来,否则每次判断都会获取一次数组的length

JSON

后台返回的json如果使用Integer型的值为json对象的属性,会出错,即这种形式{Integer(Key):Value}

调试

通过.click .hover .focus等绑定的事件可以通过$(obj).data(‘events’)[‘click…’][0].handler查看具体的JS代码,通过.bind(),.live()等绑定的方法不能直接查看



原文链接:,转发请注明来源!
「前端开发总结(四) 」评论列表

发表评论