让Mootools的语法结构像Jquery那样
以前一直都在用jquery,突然转到mootools,很多语法结构不太适应,不过没关系,我们可以给Mt加扩展让他的语法结构像jquery那样
这一点在Mt上实现起来并不难,可是如果要让jquery模仿Mt是没办法的.
Element.implement({
//EVENTS
bind:function(type,fn){//$('simple').bind('click mousewheel contextmenu',function(){alert('sh')}).alert('link');
type.split(' ').each(function(event){
this.addEvent(event,fn);
},this);
return this;
},
fire:function(type,args,tim){//$('b').fire('click',$('a'),4000);触发$('b')的事件
return this.fireEvent(type,args,tim);
},
one:function(type,fn){//$('simple').one('click',function(){alert('sh')}).alert('link');
var removeOne=function(){this.removeEvent(type,fn).removeEvent(type,removeOne);}
return this.addEvent(type,fn).addEvent(type,removeOne);
},
hover:function(fn1,fn2){//$('simple').hover(function(){console.log('1')},function(){console.log('2')});
return this.addEvents({
'mouseenter':fn1,
'mouseleave':fn2
});
},
//METHOD
data:function(opt,value){
return value ? this.store(opt,value):this.retrieve(opt);
},
//ATTRIBUTES
attr:function(prop,value){
switch ($type(prop)){
case 'object':
this.set(prop);
break;
case 'string':
if(value){
//Note:first attempt() arg is supposed to be index of elements array,but can't be done in Mootools
if($type(value)=='function') value=value.attempt(this,this);
this.set(prop,value)
}
else return this.get(prop);
}
return this;
},
html:function(value){
return value ? this.set('html',value):this.get('html');
},
text:function(text){
return text ? this.set('text',text):this.get('text');
},
val:function(value){
//Note:Array type value not implemented
return value ? this.set('value',value):this.get('value');
},
alert:function(msg){
alert(msg);
},
show:function(){
this.setStyle('display','');
},
hide:function(){
this.setStyle('display','none');
},
_show:function(){
this.fade('in');
},
_hide:function(){
this.fade('out');
},
toggle:function(event,fn,fn2){
var flag=true;
return this.addEvent(event,function(){
(flag ? fn:fn2).apply(this,arguments);
flag=!flag;
});
},
xlight:function(linkClass,opacity){
opacity=(opacity)?opacity:.3;
linkClass=(linkClass.charAt(0)=='.')?linkClass:'.'+linkClass;
this.addEvent('mouseover:relay('+linkClass+')',function(e,elem){
$$(linkClass).each(function(link){
if(elem!=link){link.tween('opacity',opacity);}
});
});
this.addEvent('mouseout:relay('+linkClass+')',function(e,elem){
$$(linkClass).each(function(link){
link.tween('opacity',1);
});
});
}
});
让Mootools的语法结构像Jquery那样相关推荐
- jQuery语法结构
jQuery语法结构 工厂函数$() $(selector).action(); 选择器selector $(selector) 方法action() jQuery对象.addClass([样式名]) ...
- jQuery的语法结构
一.jQuery的语法结构 jQuery语句主要包含三大部分:$().document和ready()分别被称为工厂函数.选择器.方法 语法:$(selector).action(); 二.DOM里的 ...
- php总结1 ——php简介、工作原理、运行环境、文件构成、语法结构、注释
1.1 PHP 超文本预处理程序.实际就是制作网站的脚本程序 1.2 运行环境: wamp--windowns+apache+mySQL+php 常用于开发.学习和研究 lamp --linu ...
- 【面试Vue全家桶】vue前端交互模式-es7的语法结构?async/await
作者 | Jeskson 掘金 | https://juejin.im/user/5a16e1f3f265da43128096cb 2020.1.12 前端发请求,调用后端接口,来获取特定格式的数 ...
- 数据结构与算法:02 C#语言基本语法结构
02 C#语言基本语法结构 知识结构: 1.数据类型 第一种分类: 简单数据类型:byte.short.int.long.float.double.char.bool 组合数据类型:struct.en ...
- R语言用户自定义函数的语法结构、编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等)、编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据)、应用自定函数
R语言用户自定义函数的语法结构.编写自定义统计值计算函数(使用ifelse结构计算均值和标准差等).编写自定义日期格式化(format)函数(switch函数使用不同分枝格式化日期数据).应用自定函数 ...
- FPGA之道(40)HDL的语法结构
文章目录 前言 语法结构 省略与否请一致 范围方向请一致 端口声明请一致 参数声明请一致 映射方式请一致 代码缩进请一致 空格空行 注释编写 解释说明 段落分隔 代码保留 模块设计 确定好端口的顺序 ...
- python003 一 Python起步、pyhthon运行方式、语法结构、python变量
一,python起步 二,python运行方式 三,python语法结构 1,语句块缩进 2,注释及续行 (多行注释--ctrl+?) 3,同行多个语句 4,输出语句 print('Hello', ...
- PHP条件语句总结,PHP 条件语句基本语法结构
php中条件语句就if else与swicth及三目运算符了,下面我来给大家介绍这些条件语句的一些语法吧. if单分支的基本语法结构 if(条件表达式){ //执行语句; } if双分支 基本语法结构 ...
最新文章
- curl模拟多线程抓取网页(优化)
- Git的stash操作
- Java中的关键字——final
- DELPHI怎样编写COM组件
- 计算机硬盘无法查找文件,硬盘系统中的文件搜索技巧整理
- 测试内存兼容软件,Ryzen内存兼容性测试_内存硬盘行情-中关村在线
- Python爬虫项目---批量从搜款网下载主图、颜色图详情图
- python怎么导入数据集keras_python – 如何为Keras准备数据集?
- mysql 5.6 外键_mysql 5.6外键约束错误;没有发生在5.5
- python之定制多种彩虹色爱心
- 医学图像笔记(一)dicom数据格式
- c语言与程序设计曹计昌 答案,c语言与程序设计答案曹计昌
- TCP 与 CPU 架构发展史
- echarts的学习(六)调色盘的学习
- 重要信息通知短信解决方案
- “烤面经了“~2022最新大厂Java面试真题总结,可带劲了
- Java编程:Java里的协程
- Servlet 04
- ZOJ 3736 模拟魔方
- An unknown server-side error occurred while processing the command. Original error: Error executing