用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 Cookie显示用户上次访问的时间和次数
Dec 08 Javascript
表格单元格交错着色实现思路及代码
Apr 01 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
Aug 11 Javascript
javascript的BOM
May 03 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
浅谈js多维数组和hash数组定义和使用
Jul 27 Javascript
详解AngularJS验证、过滤器、指令
Jan 04 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
解决Angular.js中使用Swiper插件不能滑动的问题
Feb 26 Javascript
vue路由懒加载的实现方法
Mar 12 Javascript
jquery使用FormData实现异步上传文件
Oct 25 jQuery
整理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
一个简单的域名注册情况查询程序
2006/10/09 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
2020/03/26 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
利用WebBrowser彻底解决Web打印问题(包括后台打印)
2009/06/22 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
JavaScript 上万关键字瞬间匹配实现代码
2013/07/07 Javascript
Js日期选择自动填充到输入框(界面漂亮兼容火狐)
2013/08/02 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript中一些util方法汇总
2015/06/10 Javascript
jQuery插件实现带圆点的焦点图片轮播切换
2016/01/18 Javascript
Jquery实现$.fn.extend和$.extend函数
2016/04/14 Javascript
js css实现垂直方向自适应的三角提示菜单
2016/06/26 Javascript
Vue.js基础知识小结
2017/01/13 Javascript
带你快速理解javascript中的事件模型
2017/08/14 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
vue2.0组件之间传值、通信的多种方式(干货)
2018/02/10 Javascript
vue插槽slot的理解和使用方法
2019/04/03 Javascript
koa-router路由参数和前端路由的结合详解
2019/05/19 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
文章或博客自动生成章节目录索引(支持三级)的实现代码
2020/05/10 Javascript
Python安装使用命令行交互模块pexpect的基础教程
2016/05/12 Python
解决python3 urllib 链接中有中文的问题
2018/07/16 Python
python重试装饰器的简单实现方法
2019/01/31 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
Python帮你识破双11的套路
2019/11/11 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
利用python绘制正态分布曲线
2021/01/04 Python
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
澳大利亚UGG工厂直销:Australian Ugg Boots
2017/10/14 全球购物
元旦活动感言
2014/03/08 职场文书
学生会主席竞聘书
2014/03/31 职场文书
Python如何把不同类型数据的json序列化
2021/04/30 Python
详解Vue项目的打包方式(生成dist文件)
2022/01/18 Vue.js