JS当中选项卡闭包问题(解决)
来源:互联网 发布:wear of it 编辑:程序博客网 时间:2024/05/18 22:40
作用域当中的变量
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html lang="en"><head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>选项卡</title> <style type="text/css"> ul{margin: 0;padding: 0} ul li{list-style:none;} button.current{ background-color: red; } #content{ width: 260px; height: 200px; border: 1px solid #ddd; overflow: hidden; } #content li{ display: none; width: 250px; height: 195px; background-color: #ddd; margin: 0 auto; } #content li.current{ display: block; } </style> <script type="text/javascript"> window.onload = function(){ var btns = document.getElementsByTagName("button"); var lis = document.getElementById("content").children; /* //闭包 for(var i=0; i<btns.length;i++){ btns[i].onclick = function(){ // 设置当前的按钮为current for(var j=0; j<btns.length;j++){ btns[j].removeAttribute("class"); } this.setAttribute("class","current"); // 将内容区对应的设置为current for(var k = 0;k<lis.length;k++){ lis[k].removeAttribute("class"); } alert(i); lis[i].setAttribute("class","current"); }; }*/**使用匿名函数的调用传递外部变量到函数内部,并返回匿名函数,维护一个变量** // 解决闭包 for(var i=0;i<btns.length;i++){ btns[i].onclick = (function(num){ return function(){ //将当前按钮设置为current for(var j=0;j<btns.length;j++){ btns[j].removeAttribute("class"); } this.setAttribute("class","current"); //将内容区对应的li置为current for(var k=0;k<lis.length;k++){ lis[k].removeAttribute("class"); } lis[num].setAttribute("class","current"); } })(i); } }; </script></head><body> <button id="h1" class="current">商品信息</button> <button id="h2">参数配置</button> <button id="h3">商品评价</button> <ul id="content"> <li id="c1" class="current">商品信息的内容...</li> <li id="c2">配置参数的内容...</li> <li id="c3">商品评价的内容...</li> </ul></body></html>
0 0
- JS当中选项卡闭包问题(解决)
- 解决dropdownlist选项重复问题
- 解决Sql2005 附加数据库 为只读选项问题(引)
- 解决 IE 选项卡重启的问题(此选项卡已经恢复)
- 简单解决php编程当中mysql插入中文乱码问题
- 解决vim当中鼠标右键粘贴不了的问题
- 解决ListView当中还有ListView onItemClick点击事件问题
- 关于eclipse当中的版本兼容问题(一点小问题的解决也需要大量的时间)
- linux 学习当中问题集锦(持续更新,如有大神可帮忙解决其中的为解决问题)
- 关于js选项卡的一些问题
- js当中toFixed()
- js当中toFixed()
- JS当中的拷贝!!!
- 解决js跨子域问题
- js选项卡(Tabs)
- js编程(选项卡)
- JS当中的Ajax异步交互(详细笔记)
- 数据结构当中的问题
- Block中循环引用、局部变量不能修改的一些理解
- boost::date boost::ptime
- [.NET] C# 知识回顾
- 欢迎使用CSDN-markdown编辑器
- 数据库取出的日期与前端交互
- JS当中选项卡闭包问题(解决)
- Java——线程启动
- MFC在VS2012上实现一些基本的界面方法
- 愤青的一年-我的2016年总结
- 脚手架是用来干嘛的
- c++ Primer Plus(第六版)第十章习题,写代码之路
- (c++)编写一函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其它字符的个数,在主函数中输入字符串以及输出上述结果。 只要结果,别输出什么提示信息。
- 在 Windows Forms 和 WPF 应用中使用 FontAwesome 图标
- Spring 4.3.5 配置 quartz 2.2.1 任务调度遇到的问题和解决方法