用Mootools获得操作索引的两种方法分享


Posted in Javascript onDecember 12, 2011

我们先说一下第一种方法,(此方法为一位QQ好友提供,感谢此人,此人昵称是:exf)

<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
ul=$$('ul'); 
ul.addEvent('click',function(){ 
alert(ul.indexOf(this)); 
}); 
</script>

其实除了上边的方法外还有一种方法也能得到索引值,看下边的例子:
<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
ul=$$('ul'); 
ul.each(function($I,i){ 
$I.onclick=function(){ 
alert(i); 
}; 
}) 
</script>

两种方法孰优孰劣一看便知,第一种方法需要再次使用indexOf函数判断,而第二种方式直接是作为参数把索引值传递进去了,就不需要额外的计算了.因此如果您需要获取索引值得时候推荐使用第二种方法.

下边我写了一个手风琴插件用来演示两种方法在实际应用过程中的表现.

<style type="text/css"> 
ul,li{font-size:12px;font-family:arial;padding:0;margin:0;} 
ul{width:300px;line-height:24px;font-weight:bold;background-color:#C1C2C1;border-bottom:1px solid #fff;text-indent:10px;} 
li{list-style:none;font-weight:normal;background-color:#e1e1e1;} 
</style> 
</head> 
<body> 
<ul>Title1 
<li>11111</li> 
</ul> 
<ul>Title2 
<li>22222</li> 
</ul> 
<ul>Title3 
<li>33333</li> 
</ul> 
<ul>Title4 
<li>44444</li> 
</ul> 
<script type='text/javascript'> 
var Acc=new Class({ 
Implements:[Options,Events], 

options:{ 


$Boxtit:false 

}, 

initialize:function(options){//初始化构造函数 


this.setOptions(options);//?置options 


if(!this.options.$Boxtit){return false;} 



this.Core(); 


}, 


Core:function(){ 



$Boxtit=this.options.$Boxtit; 



$Boxmsg=$Boxtit.getElement('li'); 



$Boxmsg.setStyle("display","none"); 



$Boxtit.each(function($I,i1){ 




$I.onclick=function(){ 





//i2=$Boxtit.indexOf(this);console.log(i1+'|'+i2);//??的i1和i2???上都是索引值 





$Boxmsg.setStyle("display","none"); 





this.getElement('li').setStyle("display",""); 




}; 


}) 

} 
}); 
new Acc({$Boxtit:$$('ul')}); 
</script>

只不过在上边的插件中为了提高效率,因此我使用了this,这样比用索引找寻DOM效率更高一些.
Javascript 相关文章推荐
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
js 获取后台的字段 改变 checkbox的被选中的状态 代码
Jun 05 Javascript
js 窗口抖动示例
Sep 04 Javascript
js定时器的使用(实例讲解)
Jan 06 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
May 03 Javascript
Three.js学习之几何形状
Aug 01 Javascript
angularjs的select使用及默认选中设置
Apr 08 Javascript
Vuex之理解state的用法实例
Apr 19 Javascript
详解Vuejs2.0 如何利用proxyTable实现跨域请求
Aug 03 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
vue 实现购物车总价计算
Nov 06 Javascript
使用Promise封装小程序wx.request的实现方法
Nov 13 Javascript
整理8个很棒的 jQuery 倒计时插件和教程
Dec 12 #Javascript
关于event.cancelBubble和event.stopPropagation()的区别介绍
Dec 11 #Javascript
Jquery阻止事件冒泡 event.stopPropagation
Dec 11 #Javascript
远离JS灾难css灾难之 js私有函数和css选择器作为容器
Dec 11 #Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 #Javascript
FireFox下XML对象转化成字符串的解决方法
Dec 09 #Javascript
一个简单的js树形菜单
Dec 09 #Javascript
You might like
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
PHP中copy on write写时复制机制介绍
2014/05/13 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
PHP中使用CURL获取页面title例子
2015/01/07 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
JavaScript获取页面上某个元素的代码
2011/03/13 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
基于javascript实现判断移动终端浏览器版本信息
2014/12/09 Javascript
jQuery CSS3自定义美化Checkbox实现代码
2016/05/12 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
2016/10/25 Javascript
es7学习教程之fetch解决异步嵌套问题的方法示例
2017/07/21 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
mpvue 单文件页面配置详解
2018/12/02 Javascript
vue项目中使用eslint+prettier规范与检查代码的方法
2020/01/16 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
微信小程序接入vant Weapp组件的详细步骤
2020/10/28 Javascript
Vue实现购物车基本功能
2020/11/08 Javascript
python pdb调试方法分享
2014/01/21 Python
Python中IPYTHON入门实例
2015/05/11 Python
如何将python中的List转化成dictionary
2016/08/15 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
django中send_mail功能实现详解
2018/02/06 Python
Python面向对象基础入门之设置对象属性
2018/12/11 Python
python基于gevent实现并发下载器代码实例
2019/11/01 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
《理想》教学反思
2014/02/17 职场文书
保险公司晨会主持词
2014/03/22 职场文书
单位法定代表人授权委托书
2014/09/20 职场文书
2014市国税局对照检查材料思想汇报
2014/09/23 职场文书
银行文明优质服务培训心得体会
2016/01/09 职场文书
如何利用js在两个html窗口间通信
2021/04/27 Javascript
python 如何执行控制台命令与操作剪切板
2021/05/20 Python
vue响应式原理与双向数据的深入解析
2021/06/04 Vue.js