用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将string类型转换int类型
Dec 09 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
精心挑选的12款优秀的基于jQuery的手风琴效果插件和教程
Aug 22 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
Nov 08 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
Dec 05 Javascript
layui弹出层效果实现代码
May 19 Javascript
jQuery实现获取当前鼠标位置并输出功能示例
Jan 05 jQuery
浅谈 Webpack 如何处理图片(开发、打包、优化)
May 15 Javascript
JavaScript实现联动菜单特效
Jan 07 Javascript
Antd中单个DatePicker限定时间输入范围操作
Oct 29 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数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
php引用传值实例详解学习
2013/11/06 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
运用jquery实现table单双行不同显示并能单行选中
2009/07/25 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
JS实现的一个简单的Autocomplete自动完成例子
2014/04/16 Javascript
js实现遮罩层弹出框的方法
2015/01/15 Javascript
jQuery中bind()方法用法实例
2015/01/19 Javascript
jQuery手动点击实现图片轮播特效
2020/04/20 Javascript
javascript的replace方法结合正则使用实例总结
2016/06/16 Javascript
JS中用try catch对代码运行的性能影响分析
2016/12/26 Javascript
Bootstrap3 图片(响应式图片&amp;图片形状)
2017/01/04 Javascript
使用jquery给新生的th绑定hover事件的实例
2017/02/10 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
jQuery封装placeholder效果实现方法,让低版本浏览器支持该效果
2017/07/08 jQuery
node.js爬取中关村的在线电瓶车信息
2018/11/13 Javascript
HTML+JavaScript实现扫雷小游戏
2019/09/30 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
2020/04/24 Javascript
Python正则表达式介绍
2012/08/06 Python
Python中使用logging模块代替print(logging简明指南)
2014/07/09 Python
python打开文件并获取文件相关属性的方法
2015/04/23 Python
python输出当前目录下index.html文件路径的方法
2015/04/28 Python
python框架django基础指南
2016/09/08 Python
Python中property函数用法实例分析
2018/06/04 Python
django框架自定义用户表操作示例
2018/08/07 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
学习python可以干什么
2019/02/26 Python
pytorch三层全连接层实现手写字母识别方式
2020/01/14 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
网络方面基础面试题
2012/11/16 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
Python基础之数据结构详解
2021/04/28 Python