javascript - angular.js中怎么获取当前的元素,然后为它增加class?
巴扎黑
巴扎黑 2017-04-11 11:32:34
[JavaScript讨论组]

1 通过 ng-repeat 循环出5条li,然后当鼠标进入的时候,为li增加 class=‘active’。

2

  • 3

    4 已经尝试的办法:(1)通过$event.target获取当前元素,然后addClass(‘ active’),但是每次是给li的子元素img增加了class=‘active’;
    (2)通过this传递参数发现,this 指向的是当前¥scope,并不是当前元素。

    求大神帮帮我吧

    巴扎黑
    巴扎黑

    全部回复(4)
    阿神

    1.利用ng-class为li附加类

    $scope.fun = function(tmp, isActive) {
        tmp.active = isActive;
    }
    
    <li ng-class="{'active': tmp.active}" ng-repeat="tmp in pdData.pdPic track by $index" ng-mouseleave="fun(tmp, false)
    " ng-mouseenter="fun(tmp, true)">
        <img ng-src="img/proDetail/{{tmp}}"/>
    </li>

    2.既然需求已经很明确要在“当鼠标进入的时候,为li增加 class=‘active’。”

    那这样的话直接写css样式不就好了

    .active:hover {
     XXXX
    }
    
    <li class="active" ng-repeat="tmp in pdData.pdPic track by $index">
        <img ng-src="img/proDetail/{{tmp}}"/>
    </li>
    PHP中文网

    可以直接写个ng-class

    <p ng-repeat="a in b">
        <p ng-class="a.active?acive:''"></p>
    </p>

    定义一个变量
    每当鼠标划入时 在方法里面设置变量a.active为true,鼠标划出时设为false。

    大家讲道理
    <p ng-class="{true:'active',false:''}[active]"></p> //active为true时,className就为active。

    用ng-class试试

    巴扎黑

    建议用 ng-class

    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号