数极客首页

结构、表现、行为分离(搜索)

三层分离道理很简单,但是要用例子来说清楚也不易。今天优化“搜索”功能时突然想到,这便是个很典型的示范。从头开始,我一般会选择如下代码作为搜索录入框原型,以前做的HTML原型都用这个:<input size=15 type=”text” name=”search_key” style=”color:#bbb;” value=”志号、名称” onfocus=”if(this.value==’志号、名称’){this.value=”;this.style.color=’#333333′;}” onblur=”if(this.value==”){this.value=’志号、名称’;this.style.color=’#bbbbbb’;}” />用文字来描述交互:默认淡色#bbbbbb文字提示录入字段,用户点击录入时颜色会加深#333333正常,但当退格删掉所录内容input内值为空时,会恢复淡色默认提示。如下图:

结构、表现、行为分离(搜索)

产品使用过程中,往往通过定义外层搜索模块.search来传递控制这个录入框和按钮的展示效果,如上我还定义了个.text用于统一控制表单的文本录入框如如此从三层分离的角度看,目前只做到了结构、表现分离,而结构、行为是绑到一起的,并不符合Web Standard设计思想。改造思路是把行为剥离,因为本站在使用jQuery类库,因此考虑用jQuery语句来实现。通过name的值search_key做绑定,代码如下:<script type=”text/javascript”/>jQuery(function($){$(‘.search input[name=search_key]‘).focus(function(){if($.trim(this.value)===’志号、名称’){this.value=”;$(this).addClass(‘focus’);}}).blur(function(){if($.trim(this.value)===”){this.value=’志号、名称’;$(this).removeClass(‘focus’);}});});</script/>剩下的HTML结构如下,无style也无script很干净:<input size=”15″ type=”text” name=”search_key” value=”志号、名称” />最后绑定表现,美化是我们的目地,但别忘了还有个基础要求是兼容性要好。加分题,考虑在激活录入框时提示,如同safari浏览器录入表单的shadow效果,可惜IE不支持。效果和交互如图:到此其实还没完,还有优化余地。比如浏览器如果不支持脚本,触发录入框不能自动清空,虽然不至于功能失效,但也会给用户造成困惑。另外,如果考虑进一步简化,可以整合或隐藏按钮回车提交,我考虑“集邮册”用户群没有这么高端。基本优化原则,是所有功能表现在同一水准线,模块化迭代式前进。来源:源地址:http://blog.jiyouce.com/?p=156给大家推荐我国新一代大数据用户行为分析与数据智能平台:数极客(https://www.shujike.com),是支持无埋点、前端埋点、后端埋点、API导入四种混合数据采集方式,整合分析用户行为数据和业务数据,可以自动监测网站、APP、小程序等多种渠道推广效果分析,是增长黑客们必备的互联网数据分析软件。数极客支持实时多维分析、漏斗分析、留存分析、路径分析等十大数据分析方法以及APP数据分析网站统计网站分析小程序数据统计用户画像等应用场景,业内首创了六种提升转化率的数据分析模型,是用户行为分析领域首款应用定量分析与定性分析方法的数据分析产品

发表评论

评论已关闭。

相关文章