Hi,大家好!前两篇文章我们主要讲述了以“jQuery的方式如何开发插件”,以及过程化设计与面向对象思想设计相结合的方式是如何设计一个插件的,两种方式各有利弊取长补短,嘿嘿嘿,废话少说,进入正题。直接上实际效果图:
大家看到了吧,这是一个下拉菜单插件,在我们日常开发中,系统提供的可能有时让我们觉得不是很美观并且功能有限,造成用户
的体验形式以及用户的可交互性不是很好,所以今天模拟一个嘿嘿嘿。下面就具体分析一下吧。
(二),实例分析
(1),首先确定这个插件做什么事。下面看一下插件的调用方式,以及配置参数说明。如下代码:
复制代码 代码如下:
$(function(){
var itemSelector = new ItemSelector($("#item-selector"),{
currentText : "Please Choose Item" ,
items : [
{
text : "JavaScript" ,
value : "js" ,
disabled : "1"
} ,
{
text : "Css" ,
value : "css" ,
disabled : "0"
} ,
{
text : "Html" ,
value : "html" ,
disabled : "0"
}
] ,
mode : "0" , // 为"1"时支持checkbox多选模式
change : function(value){
// put your code here
}
}) ;
itemSelector.init() ;
setTimeout(function(){
console.log(itemSelector.getCurrentValue()) ; // 测试 获取当先选中项
},2000) ;
“var itemSelector = new ItemSelector()”里面包含两个参数,第一个是dom节点对象,第二个是插件参数选项,"currentText"代表“ItemSelector“插件中,选中文本显示区域的文字描述。
”items“是一个数组,里面包含的是“ItemSelector”项目的属性,包括文字描述,选项值,”disabled“代表列表条目的可显度,0代表显示,1代表不可显示。
”change“代表选中时的操作回调函数,选项数据会以参数的形式进行回传。
(2),所涉的功能有哪些
可显的效果图如下:
不可显的效果图如下:
二者的区别是:不可现状态数据不会回传,悬浮上去不会有任何效果。
三),完整代码以供学习,本代码已经过测试,包括目录结构以及相关的文件。
(1),html
复制代码 代码如下:
<body>
<div>
大熊君{{bb}} - DXJ UI ------ ItemSelector
</div>
<div>
<div>
<div>
<div></div><span>↓</span>
</div>
<div>
<div>
</div>
</div>
</div>
</div>
</body>
(2),css
复制代码 代码如下: