分享我们的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
投稿

猜你喜欢

  • Python 过滤错误log并导出的实例

    2023-10-21 10:18:36
  • jquery获取复选框被选中的值

    2024-04-22 13:05:24
  • SQL Server 2008 R2 超详细安装图文教程

    2024-01-24 16:41:12
  • Python实现敲击木鱼积累功德小项目

    2021-02-11 05:29:03
  • MySQL的常见存储引擎介绍与参数设置调优

    2024-01-16 15:08:07
  • Python 5种常见字符串去除空格操作的方法

    2023-12-18 18:52:58
  • Python中文分词工具之结巴分词用法实例总结【经典案例】

    2023-05-05 01:46:30
  • Python实现图片指定位置加图片水印(附Pyinstaller打包exe)

    2023-08-13 04:27:16
  • Python如何测试stdout输出

    2023-10-22 23:59:56
  • asp.net mvc 从数据库中读取图片的实现代码

    2024-01-19 14:51:09
  • Pytorch结合PyG实现MLP过程详解

    2022-05-01 21:51:55
  • Tensorflow的常用矩阵生成方式

    2023-03-27 16:03:55
  • vue之计算属性的缓存computed的用法解读

    2024-05-11 09:14:05
  • Pandas中DataFrame对象转置(交换行列)

    2023-06-11 05:01:45
  • Python实现查找数据库最接近的数据

    2024-01-21 08:27:53
  • 网页栅格系统研究:960的秘密

    2008-10-24 17:03:00
  • Pandas中GroupBy具体用法详解

    2023-08-10 04:16:42
  • 基于python神经卷积网络的人脸识别

    2023-11-03 17:37:17
  • JS实现获取数组中最大值或最小值功能示例

    2024-05-02 16:15:26
  • Python中Selenium上传文件的几种方式

    2022-08-13 04:10:40
  • asp之家 网络编程 m.aspxhome.com