zoukankan      html  css  js  c++  java
  • 原生js实现选项卡样式切换的几种方式。

      先分享一个不能实现的实例(因为es5没有块作用域)

        for(var i=0; i<list.length; i++ )

          {

            list[i].onclick = function(){

                tabchange(i);

              }

          }

      解决方案:

        1.es6新的变量声明方式 let(es6具有块级作用域,解决es5存在的问题)

     

        for(let i=0; i<list.length; i++ )

          {

            list[i].onclick = function(){

                tabchange(i);

              }

          }

        2.利用闭包

        for(var i=0; i<list.length; i++ )

          {

            list[i].onclick = (function(){

                return function(){

                tabchange(i);

                }

              })(i);

          }

        3.为元素对象创建对应的索引

        for(var i=0; i<list.length; i++ )

          {

            list[i].myindex=i;

            list[i].onclick = function(){

                tabchange(this.myindex);//绑定元素对应的索引

              }

          }

      //这种方案一般也用于轮播图,当然是用框架就不用考虑这么多问题了  

  • 相关阅读:
    最小移动次数使数组元素相等
    计算几何
    北校门外的回忆
    洗衣服
    HDU1046:Gridland
    注册机的实现如(istarMenu CORE Keygen)
    是你吗?
    (译)KVO的内部实现
    通过UIColor转换为UIImage
    Palindrome Number 解题报告
  • 原文地址:https://www.cnblogs.com/angle-xiu/p/11312247.html
Copyright © 2011-2022 走看看