検索

ホームページ  >  に質問  >  本文

javascript - 点击激活样式

导航上有一系列链接区域,我想实现点击某链接是=时,该区域背景颜色及文字颜色改变,而其兄弟节点,即同级的链接区域恢复默认样式,用原生的javascript.我写出的代码没法让改变了的样式恢复,诚求解!!!

PHP中文网PHP中文网2898日前479

全員に返信(4)返信します

  • 阿神

    阿神2017-04-10 15:16:21

    当click函数执行时,i=menu.length,而不是你期望的~~~
    使用闭包,保持你期望的i值
    ....

    1

    2

    3

    4

    5

    6

    <code>menu[i].onClick=(funcion(i){

        return function(i){

            //your codes

        }

    }(i));

    </code>

    ....
    或则使用jQuery delegate方法

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-10 15:16:21

    1

    2

    3

    4

    5

    6

    7

    8

    9

    <code>var menu =document.getElementById("main-menu").childNodes;

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

      (function(arg){

            menu[i].onclick=function(arg){

                 //你得代碼

            }

        })(i)

    }

    </code>

    閉包問題
    此方案和二樓方案一樣

    返事
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:16:21

    不是用了 angular 吗?为啥不用 ng-class

    返事
    0
  • 黄舟

    黄舟2017-04-10 15:16:21

    典型的闭包问题,亲

    返事
    0
  • キャンセル返事