改善交互体验-巧用底图+JS做搜索框动态效果

    本文关键字:搜索框 js改变文字 代码与效果分离

    做前台的亲们也许经常用到这个东西,即使您不是做前台的同学,想必在浏览网页的时候也经常碰到某些网站有诸如此类的搜索框.

我们点击它,提示性文字消失,如图然后离开它,文字再现.或者当我们没有输入任何内容的时候,依然返回提示性文字.

    诸如此类的需求,可以说已经非常古老,网上案例也是一搜一大堆.但尽管如此,我们也能从中发现,这些所谓的实现可谓非常简单,就是利用JS判断输入框然后决定是否将文字替换.

例如:

    这确实能直观地解决基本的问题,但更多的问题有待解决:

    1.当提示性文字要求更换颜色,或者干脆用艺术字体,区别于客户输入的文字样式.

    2.某次变更界面时,需要将文字改变内容,例如换成"请输入您的关键字",而作为美工而言,对编译好的JS没有任何操作权限.即便可以更改,因为界面少量内容的改动,牵扯到JS的修改也是非常费时费力.

    3.您的网站有不止一个这样的搜索框,它们的内容大致有"请输入关键字","关键字","搜索内容"......如果再去更改JS,将非常可能导致出错.

我也是曾经深陷这个怪圈很久,某一天突然看到这个不起眼的放大镜底图,让我眼前顿时一亮,能否将这个底图发扬一下光辉,也好让页面JS程序和界面彻底分离一下?

css样式中有关backgroud-position的章节对此UI们应该不会陌生.我的思路是放大镜图片稍微扩大一下,然后根据用户行为去改变它的position就可以了.

更改之后的放大镜底图如下:

从此它有两种状态了,在JS中根据用户行为去改变它的position.

主要代码如下:

    用了这样的方式之后,以上的诸多问题都能很好地解决.

    1.我们可以让美工尽情更改底图中文字的颜色.内容.更改时直观,独立,绝不影响其它的内容.

    2.我们可以把所有搜索框的提示性内容全部放在一张图中,然后为不同的搜索框定制不同的样式效果.

    3.下次更改时,不用到处去找文字.也不用害怕会出错,因为图片又不大,一眼就知道该动哪里.前提是美工要有基本的像素概念,如果认为一两个像素不对齐也不要紧的那种人,我建议还是不能承担这种重任.

....其它的更多妙用,只有用过的人才知道!

当然,本示例中用到了jquery组件,您可根据需求进行取舍.另外说明:代码中最后一行是为了保证某些浏览器的搜索记忆功能.

完整Demo在此下载:

 https://files.cnblogs.com/CoreCaiNiao/searchDemo.rar

转载请说明出处.

 http://www.cnblogs.com/CoreCaiNiao/archive/2013/02/17/2914285.html

 

posted @   活跃的毛虫  阅读(5563)  评论(6编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示