jquery-ui学习笔记
2016-09-06 22:09
453 查看
组件和插件的区别 :
组件和理解为一组的插件
1、引入jq-ui.js 和css
2、如何定制下载
3、分为几个大模块:
UI核心,UI交互,UI控件,UI特效,CSS主题
3-1、UI特效(是独立的不依赖其他模块) effect效果分为:
a、easing函数:
http://www.w3cschool.cc/jqueryui/api-easings.html
b、animate
$(obj).animate({'height':'500'},1000,'linear');
c、addClass
$(obj).addClass('box',1000,'linear');
d、removeClass 如上
e、show/hide/toggle
-effectblind : 百叶窗 bounce : 反弹
clip : 剪切 drop : 降落
explode : 爆炸 fade : 淡入淡出
fold : 折叠 puff : 膨胀
pulsate : 心跳 scale : 缩放
shake : 震动 size : 尺寸
slide : 滑动 transfer : 转移
如:$(obj).show(‘clip’,1000);
-direction
up,down,left,right 案例如:
$(obj).toggle('blind',{direction:'up'},1000);
f、effect
shake,pulsate,bounce 案例如:$(obj).effect('shake',1000);
3-2、ui交互
draggable() 拖拽 droppable() 拖拽后释放
resizable() 缩放改变对象的宽高
selectable() 选中(按键不放滚动选中)
sortable() 排序(按键不放拖动排序位置)
快速演示
http://www.w3cschool.cc/try/tryit.php?filename=jqueryui-api-draggable
a、参数说明:
-以上交互效果都包含三种参数 基本参数:{option}, 方法:methods, 事件events(写在option中);
b、如何使用(配置参数的使用,方法的使用,自定义事件的使用);
-配置参数(配置参数可以在初始化时,也可以试初始化后)如: $(obj).draggable({axis:'y'}); //初始化为y轴可以拖动
$(obj).draggable('option','axis','x'); //修改为x轴拖动
-方法使用(是在初始化后)
$(obj).draggable({axis:'y'}); //初始化为y轴可以拖动
$(obj).draggable('destroy'); //销毁拖动
方法的第二种写法:
var $obj = $(obj).draggable('instance'); //获取对象
$obj.destroy();
-自定义事件 (普通事件之上的封装)
$(obj).draggable({axis:'y',create:function(){
console.log("初始化");
},start:function(){
console.log("拖拽开始");
},stop:function(){
console.log("托转接胡搜");
});
事件的第二种写法: (注意没有dragcreat方法 这个比较独特)
$(obj).draggable({'dragstart':function(){
console.log("初始化");
}
});
3-3 ui控件
accordion() autocomplete()button() datepicker()
dialog() menu()
progressbar() selectmenu()
slider() spinner()
tabs() ooltip()
布局HTML
-学习index.html实例
键盘控制
css样式
学习index.html实例框架 : http://api.jqueryui.com/theming/css-framework/
方法
refresh //重新刷新试图案例:
$( "#div1" ).accordion({ heightStyle : 'auto' }); //给一个列表元素添加一行高度没有自适应会出现滚动条
$('input').click(function(){
var html = $('#div1 div').eq(0).html();
$('#div1 div').eq(0).append(html);
$( "#div1" ).accordion('refresh');
});
3-4 ui core核心操作
选择器
– :data() 如:$('div:data(name)').css('background','red'); //给有name属性的div添加背景色
– :focusable() 如:
$('div').children(':focusable()').css('background','red') //给能获取光标元素添加背景色
– :tabbable() 如:
$('div').children(':tabbable()').css('background','red') //能接受tab索引的元素
方法
– disableSelection() 如:$('div').disableSelection(); //禁止选中
– enableSelection() 如:
$('div').enableSelection(); //允许选中
– focus() 如:
$('input').eq(0).focus(1000,function(){alert(1)}); //1秒后获取焦点并有回调函数
– scrollParent() //找到有滚动条的父级对象
– jQuery.ui.keyCode //作用不大 代替keycode的值 如:
if(ev.keyCode == $.ui.keyCode.ENTER){alert("回车")}
实用工具
mouse()内部使用,基于Widget Factory
http://api.jqueryui.com/mouse/
继承格式 : $.ui.mouse
position()
my
at
of
-如案例:
$('#div2').position({ //div2会定位在div1内部的右上角
my : 'right top',
at : 'right top',
of : '#div1'
});
Widget Factory(一个组件开发的规范)
编写出具备相同抽象化的插件命名空间
继承方法
http://api.jqueryui.com/jQuery.widget/
私有和公有
实例:编写widget进度条插件
$.widget('miaov.testProgressBar',$.ui.mouse,{
options : {
value : 0,
ut : '%',
color : 'black',
customMouseUp : function(){}
},
_create : function(){ //初始化
var progress = this.options.value + this.options.ut;
this.element.html( progress ).css('color',this.options.color);
this._mouseInit();
},
_setOption : function(a,b){//
if(a == 'value'){
this.element.html( b + this.options.ut );
}
},
aaa : function(){//公有方法
alert(1);
},
_aaa : function(){//私有方法
alert(2);
},
_mouseUp : function(){
this.element.trigger('miaovcustomMouseUp');
this.options.customMouseUp();
}
});
相关文章推荐
- Jquery-UI学习笔记(选项卡tabs)学习(转)
- jQuery在VS2008 SP1中文版中可以使用Intellisense了
- javascrpt:jquery的使用 关于 option ,append,attr,val()等的使用
- JQuery Validate & 富文本编辑
- REST WCF + jQuery EasyUI 应用
- jQuery学习之:jqGrid表格插件——参数配置
- jQuery资料
- 收集的几个jQuery插件
- jQuery数组处理详解(含实例演示)
- jQuery性能优化的28个建议
- jQuery仿博客园首页左导航效果
- jQuery选择器之过滤选择器之表单对象属性过滤选择器
- jquery 选择器汇总
- jQuery 获取屏幕高度、宽度
- 20 个用于处理页面滚动效果的 jQuery 插件
- 超炫酷的jQuery/HTML5应用搜罗
- 了解了这些才能开始发挥jQuery的威力
- Jquery 异步提交表单有form无form的时候处理方式
- jquery 的一个问题
- 分享一个点击小图切换大图的jquery,并说明一下原理