分享我们的select控件设计过程

作者:abeet 来源:蓝色理想 时间:2009-06-16 18:04:00 

有几个原因促使我们使用自定义的select控件来代替原生的select控件:

  1. 在ie6下select是一个窗口级的元素,绝对定位的层会被select穿越(一般的解决方法是在层内加一个iframe来遮住select)。

  2. 如果是自定义的select控件可以有更多的功能,下拉列表下的列表项可以更丰富,可以是列表、树甚至是表格(如下图)。

先把用HTML+CSS把select控件的外观模拟出来:

这儿用到一张图片arrow.gif

运行代码框


OK,在ff3下测试通过,在ie6、ie7下有一些错位,需要加CSS hack来作小许的调整,为了代码的纯粹,在这就不展示了。

接下来试着用js实现基本功能:

通过JS替换页面内原有的select,当时我们希望这个JS是非侵入式的,只要引用了select.js这个js文件的页面,就自动把页面里原有的select控件替换接管了。

先初步地实现selct控件的替换,和基本的交互(暂不考虑接管select的onchange事件等问题)。在下面的实现方法里并没有把原有的select去掉,只是隐藏了起来,所以如果select是在表单内,表单仍然能够正常提交。

运行代码框


OK,在ff3下测试通过,在ie下存在层的定位问题,当弹出下拉列表时需要对层的z-index作调整,在这就不展示了。

如果这个select控件仅在前台作小量的应用,那么适当地添加一些对键盘,鼠标的响应,就差不多可以了。

标签:列表,select,设计,窗口
0
投稿

猜你喜欢

  • asp分类算法要解决的问题

    2009-09-10 16:49:00
  • DOM_window对象属性之--clipboardData对象操作代码

    2011-02-05 10:49:00
  • Mootools 1.2教程(13)——正则表达式

    2008-12-07 20:25:00
  • 使用MySQL内建复制功能

    2009-12-15 21:36:00
  • FrontPage2002简明教程四:网页超级链接

    2008-09-17 11:23:00
  • MySQL索引类型一览 让MySQL高效运行起来

    2010-04-22 16:52:00
  • CSS3 + HTML5 实现未来 Web 设计

    2010-01-25 12:17:00
  • css布局查看器

    2008-10-29 11:22:00
  • IE10增强对HTML5和CSS3的支持

    2011-09-16 20:16:28
  • 苹果的“创新”

    2010-01-12 13:45:00
  • 分析Silverlight Button控件布局

    2009-02-17 13:13:00
  • jQuery 让人恋恋不舍的秘密

    2010-01-20 10:09:00
  • 如何Restore数据库备份文件?

    2009-11-02 20:20:00
  • 一个不错的js软键盘代码而且移植方便

    2007-08-14 12:56:00
  • 新年伊始,看各大网站新春LOGO

    2009-01-01 19:35:00
  • asp 网站静态化函数代码html

    2011-03-16 11:21:00
  • 怎样修改 MySQL数据库中的密码

    2008-11-27 15:35:00
  • 阿里系的中国雅虎新首页浅谈

    2008-07-16 12:19:00
  • 八条常见的CSS错误及修复方法

    2010-04-08 16:54:00
  • ASP+JavaScript的完整的日历使用

    2008-10-11 12:16:00
  • asp之家 网络编程 m.aspxhome.com