cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Bagaimana untuk lalai warna latar belakang elemen pertama kepada merah semasa ng-repeat, klik pada elemen yang sepadan dan latar belakang akan bertukar merah sambil menukar semua elemen lain kepada hitam

Ia adalah untuk menukar gaya secara dinamik dalam ng-klik Adakah anda mempunyai sebarang idea atau kaedah? Urgent! ! Menunggu dalam talian! ! ! Tolonglah, semua tuhan yang hebat! !

过去多啦不再A梦过去多啦不再A梦2801 hari yang lalu594

membalas semua(2)saya akan balas

  • 给我你的怀抱

    给我你的怀抱2017-05-15 17:06:32

    Berikan idea mudah:
    JS:

    
    $scope.isActive = 0;
    $scope.arr = [
        {
            //code here
        },
        {
            //code here
        }
    ];
    $scope.selectItem = function (index) {
        item.isActive = index;
    }
    

    HTML:

    <ul>
        <li ng-repeat="item in arr track by $index" ng-class="{red:isActive === $index, black:!isActive === $index}" ng-click="selectItem($index)"></li>
    </ul>
    

    CSS:

    .red {
        background: red;
    }
    .black {
        background: black;
    }
    

    Tukar kod anda seperti ini:

    HTML:

    
    
    <p class="p10 c-white w50p fl mr1 tc" ng-repeat="e in item.images">
        <p class="w50p h50 img_p" ng-class="{b-red:isActive === $index,b-white:!isActive === $index}" ng-click="changeGood($index)">
            <img src="{{e.path}}">
        </p>
        <span class="ib w50p fs0-6 span-over">{{e.description}}</span>
    </p>
    
    

    pengawal:

    
    $scope.isActive=0;
    
    $scope.changeGood=function(index){
        $scope.isActive=index;
        
    }
    

    balas
    0
  • PHP中文网

    PHP中文网2017-05-15 17:06:32

    Saya telah menjawab soalan yang sama dengan soalan anda yang dibangkitkan oleh orang lain sebelum ini, saya telah menukar demo yang saya tulis sebelum ini dan menghantarnya kepada anda sepenuhnya. Anda boleh melihatnya dan jika anda tidak melihat kesannya , sila Panjat dinding, demo adalah seperti berikut:
    Demo

    balas
    0
  • Batalbalas