微信小程序實現類似JQuery siblings()的方法


想要實現的效果:

1、點擊數字時背景為紅色,字體為白色

2、點擊1或2時,對應下面的灰點消失,再次點擊其他數字時灰點顯示

 

wxml:

<block wx:for="{{weekDay}}" wx:key="item.index">
          <view data-key="{{index}}" bindtap='select_d' class="day_list {{d_state==index?'red_day':''}}">
            <text>{{item.day_n}}</text>
            <text class='{{item.dian_class}} {{item.state==0?"dian_none":"dian_block"}}'></text>
          </view>
</block>

wxss:

.dian_none{
  display: none!important;
}
.dian_block{
  display: block!important;
}
.red_day{ background-color: #e33c3c; color: #ffffff; } .dian_d{ width: 9rpx; height: 9rpx; background-color: #d8d8d8; border-radius: 50%; display: block; }

 

js:

 

data: {
    date_week:["日","一","二","三","四","五","六"],
    weekDay:[
      {
        day_n:"26",
        dian_class:""
      }, {
        day_n: "27",
        dian_class: ""
      },{
        day_n: "28",
        dian_class: ""
      }, {
        day_n: "29",
        dian_class: ""
      }, {
        day_n: "30",
        dian_class: ""
      }, {
        day_n: "1",
        dian_class: "dian_d",
        state:1
      }, {
        day_n: "2",
        dian_class: "dian_d",
        state:1
      }
   ],
   d_state:"0",
},
select_d:function(e){
    var array = this.data.weekDay;
    var index=e.currentTarget.dataset.key;
    if (array[index].dian_class =="dian_d"){
      for (var i = 0; i < array.length; i++) {
        if (array[i].dian_class == "dian_d") {
          array[i].state = 1;
        }
      }
      array[index].state = 0;
    } else if (array[index].dian_class ==""){
      for (var i = 0; i < array.length; i++){
        if(array[i].dian_class=="dian_d"){
          array[i].state = 1;
        }
      } 
    }
    this.setData({
      d_state:e.currentTarget.dataset.key,
      weekDay:this.data.weekDay
    });
  }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM