微信小程序实现类似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
    });
  }

原文地址:https://www.cnblogs.com/jvziking/p/8178250.html

时间: 2024-10-17 21:56:28

微信小程序实现类似JQuery siblings()的方法的相关文章

微信小程序常见错误及基本排除方法

也接触了不少人解决问题的过程里,有一些比较难以排查的可能性列举在这,方便大家看一下: 也欢迎大家把自己常用的排除方法列举在这,一起互相学习探讨! 1:ES6:使用es6可能导致安卓端真机调试时很多问题出现,还有其他未知问题:原因未知: 2:字母拼错,包括字母拼写错误,大小写没有注意:微信小程序中,有大量这样的代码示例,从中间冒出一个大写,比如支付中的appId 3:官方文档示例代码有误,有时官方文档示例代码也会出现问题,比如大小写出错,或者其他缺少参数等问题: 4:https,这个坑目前遇到的人

干货|微信小程序最常用的推广营销方法和渠道技巧推荐

直至目前为止,已经有近5亿用户使用过小程序了.正因为如此,很多企业和商家都纷纷将目光投向小程序,积极开起了自己的小程序来.希望借助小程序的流量风口,分得万亿红利市场的一杯羹. 方法一.付费推广 微信上线了广告功能, 搜索相关品类关键词,广告商的品牌就会得到优先展示.在微信做广告,是一件烧钱的事情,但是,效果肯定不能差了, 当然,利用微信广告推广,需要有钱的主.如果预算较多,可以适当的尝试一下,付费推广最为直接,而且在短期内就能见到效果. 方法二. 微信公众号推广 微信小程序和公众号的界限越来越模

干货|微信小程序线上线下推广的方法和销售话术小技巧分享

一款小程序在被开发后,若想获得广泛的用户群体,就得靠一些巧妙地话术宣传和推广措施.那么问题来了,微信小程序推广和话术有哪些呢?具体要怎么操作?别着急,请听小编来跟大家一一道来. 小程序推销话术小技巧 1.有自信,说话有底气 销售人员在宣传小程序时,一定在客户面前要很自信地说话.不自信的话是缺乏说服力量的.有了自信以后,销售人员在讲话的尾语可以作清楚的.强劲的结束,由此给对方确实的信息.如"一定可以使您满意的".这样的话会让客户对你宣传的小程序产生一定的信心. 2.重复重要语句,加深在顾

微信小程序实现地图插件的调用方法

目前很多微信小程序都具备地图查看的功能,那么对于在微信小程序中如何实现地图插件的调用方法,可能很多初学小程序开发的技术人员还存在很多疑问,那么下面就来跟大家详细解答一下. 首先肯定是借助小程序自带的map组件 .wxml代码: <map id="myMap" style="width: 100%; height: 300px;" latitude="{{latitude}}" longitude="{{longitude}}&qu

微信小程序的onLaunch()方法和onShow()方法

在app.js里面你会发现一个onLaunch()方法,这个方法是当小程序加载完毕后就执行的方法,此外,还有一个onShow()方法,先看下面的代码 app.js //app.js App({ onLaunch: function (options) { console.log(options); console.log("你好"); }, onShow: function (options) { console.log("This is the on show functi

微信小程序分享至朋友圈的方法

最近研究怎么实现微信小程序分享至朋友圈,对就是朋友圈. 微信小程序目前没有直接提供方法来将小程序分享至朋友圈,不过可以采用曲线救国的方式来达到目的. 方法分两步: 1.通过浏览器将希望分享的东西风向至朋友圈: 微信小程序没有任何入口可以进入到微信的浏览器中,那么就更加不可能让用户进入到自身操作系统中的浏览器进行分享. 那么怎么通过其他的途径来达到次目的呢? 答案是:客服消息 微信小程序本身提供客服消息是用来更好的为客户服务的,但是请看以下截图: 小程序提供了入口,允许用户给客服发送消息,同时,也

微信小程序数据过滤(filter)方法

因为微信小程序的wxml和js的内部实现机制是分开编译的.所以在wxml是没办法调用js的函数的.这会导致WXML缺少一个我们常用的功能,那就是没有办法在视图层对数据做一些特殊处理.比如我们从后端获取到一个时间戳,然后需要在界面上把这些日期都格式化显示为2017-01-01这种格式的日期形式,在Vue, Angular之类的前端Web框架中,提供了如filter之类相应比较好用的方案.小程序是没有这些方法的.但是最近小程序推出了wxs类型文件就是解决这类问题的. 使用 首先新建filter.wx

微信小程序传参数的几种方法

1,navigator 跳转时 wxml页面(参数多时可用"&") <navigator url='../index/index?id=1&name=aaa'></navigator> 或者添加点击事件,js用navigateTo跳转传参,两种效果一样 wx.navigateTo({ url: '../index/index?id=1&name=aaa', }) js页面  在onLoad里直接获取 onLoad: function (o

微信小程序使用函数的三种方法

使用来自不同页面的函数 函数写在util.js页面 function formatTime(date) { var year = date.getFullYear() var month = date.getMonth() + 1 var day = date.getDate() var hour = date.getHours() var minute = date.getMinutes() var second = date.getSeconds() return [year, month,