- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
JS列表下拉菜单组件(仿美化控件select)
???? 今天是农历23 也是小年,在这祝福大家新年快乐!今天给大家分享的是:JS列表的下拉菜单组件,因为目前项目正好要用到这个,所以提前研究了下,看到KISSY也有这么一个组件,所以自己也封装了一个,KISSY demo链接
???? KISSY组件名字叫 一个解决大数据列表渲染效率的下拉菜单组件。, 他对这个组件做了一次小优化。(假如服务器返回10000条数据或者更多的话,那么我们前端一次性操作10000条数据的话很会影响性能,他们做的优化是:将数组拆分,根据浏览器本身的脚本执行能力进行分批渲染。),但是目前kissy demo上有加载2000条数据的demo,在火狐下还是会有卡住的现象,如果稍不好的话 有可能会导致浏览器重启的可能。而我今天做的demo和他们的功能类似,但是唯一不同点就是:假如返回10000条数据的话 我没有对数组分批渲染,而是循环10000次 把数据保存到一个变量里 然后一次性动态加载进来,或许这么做和他们那种操作效率可能会低那么点(具体的我没有测试过)。所以我今天的标题没有和他们那样一起叫。所以今天的标题上:JS列表的下拉菜单组件. 首先要说明的是:一般的需求肯定是满足的,一个下拉框也不可能有那么多数据(一般情况下!)。
下面是我做的demo(JS列表的下拉菜单组件)。JSFiddle地址如下:
?想要看demo,请轻轻的点击我!我怕疼的!温柔点!
?基本原理:
? ? ? 满足的基本功能是:一个基本下拉框,但是他与下拉框不同的是:他既可以输入精确匹配到某一项,也可以点击下拉,也支持键盘上下移操作。但同时当我在输入框输入时候没有匹配到某一项时候,点击文档document 那么下拉框隐藏掉,input值为空。同时且支持静态数据渲染 又支持post请求渲染数据。
基本的配置项如下:
? parentCls
.parentCls,???输入框父元素class 默认
inputElemCls
?.inputElem,???? 目标元素的class
inputWidth
?100,?????????????? 目标元素的宽度 单位(PX)
?selectCls
??.caret,??????????? 下来小箭头class
hoverBg
hoverBg,????????? 鼠标移上去的背景
isSelectHide
true,????????????????? 点击下拉框某一项 是否隐藏 默认true
timeId
100,????????????????? 默认多少毫秒消失下拉框
dataSource
[],??????????????????? 数据源返回的格式如下:静态数据 否则的话?? (如果数组为空的话) 在内部发post请求
renderHTMLCallback
?null?????????????? keyup时 渲染数据后的回调函数
callback
?null??????????????? 点击某一项 提供回调
?如上面配置: 其中dataSource如果初始化为空数组的话,那么直接在内部发post请求渲染数据,否则的话 也可以渲染静态数据:如下
dataSource: [??????????? {text: 列表项1, value: 1},??????????? {text: 列表项2, value: 2},??????????? {text: 列表项3, value: 3},??????????? {text: 列表项4, value: 4},??????????? {text: 列表项5, value: 5},??????????? {text: 列表项6, value: 6},??????????? {text: 列表项7, value: 7},??????????? {text: 列表项8, value: 8},??????????? {text: 列表项9, value: 9},??????????? {text: 列表项10, value: 10},??????????? {text: 列表项11, value: 11}??????? ]
?如果dataSource 的长度大于0 的话 那么他会按照静态数据渲染,不会发post请求 否则的话 (如果数组为空,支持发post请求) 去渲染数据。
对外提供的方法有:
setValue()?
?在外部实例话后 可以调用此方法 设置初始化值。比如demo页面设置的格式如下:?? ??? ?// 设置初始化选择项。??????? selectedItem: {??????????? value: 4,??????????? text: 列表项4??????? }
?getValue();?? 获取输入
您可能关注的文档
最近下载
- 部编版小学六年级语文上册第七单元每课课后作业及答案汇编(含四套题).pdf VIP
- XXX斜拉桥监理实施细则.pdf VIP
- 技嘉主板B660M GAMING AC DDR4 (rev.1.x)用户手册简体中文(版本 1102).pdf
- 2025年秋季开学第一课精品课件.pptx
- 人教版七年级上册英语Unit 4知识点梳理及语法讲义.pdf VIP
- 人教版七年级上册英语Unit4知识点梳理及语法讲义(学生版).pdf VIP
- 斜拉桥特大桥监理细则.pptx
- 部编版小学六年级上册全册心理健康教育教案.pdf VIP
- 硼中子俘获治疗技术及应用.pptx VIP
- 《绿色低碳产业认定行业技术规范 资源循环利用产业 》编制说明.pdf
文档评论(0)