微信小程序 动态绑定事件并实现事件修改样式

微信小程序 动态绑定事件并实现事件修改样式

实例代码

wxml

<scroll-view class="reportTypeScroll" scroll-x="true" scroll-left="{{toLeftNum}}">
 <block wx:for-items="{{reportTypeList}}" wx:key="{{index}}">
  <text type="primary" style="width:{{itemWidth}}rpx;" bindtap="bind{{item.id}}" data-typeid="{{item.id}}" class="{{currentId==item.id?'clickSel':'removeSel'}}">{{item.name}}</text>
 </block>
</scroll-view>

js

var reportTypeList = [
 { name: "日报1", id: "1" },
 { name: "目录2", id: "2" },
 { name: "季报3", id: "3" },
 { name: "月报4", id: "4" },
 { name: "日报5", id: "5" },
 { name: "目录6", id: "6" },
 { name: "季报7", id: "7" },
 { name: "月报8", id: "8" },
 { name: "日报9", id: "9" },
 { name: "目录10", id: "10" },
 { name: "季报11", id: "11" },
 { name: "月报12", id: "12" }] 

var pageObject = {
 data: {
  reportTypeList: reportTypeList,
  num: 0,
  toLeftNum: 0,
  itemWidth: 150
 }
} 

for (var i = 0; i < reportTypeList.length; i++) {
 (function (item) {
  pageObject['bind' + item.id] = function (e) {
   var id = parseInt(e.currentTarget.dataset.typeid) 

   this.setData({
    currentId: id
   })
  }
 })(reportTypeList[i])
} 

Page(pageObject)

wxss

/**index.wxss**/ 

.reportTypeScroll {
 margin: 40px 0px 20px 0px;
 white-space: nowrap;
 display: flex;
} 

.clickSel {
 color: red;
} 

.removeSel {
 color: black;
} 

text {
 height: 150rpx;
 display: inline-block;
 text-align: center;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • 详解微信小程序 template添加绑定事件

    详解微信小程序 template添加绑定事件 对于模板的使用,我是想将模板的事件单独出来,其他引用模板的页面中不再掺杂模板事件,比较方便管理,如果还有其他好的解决办法, 请赐教. template.wxml <view bindtap="clickView" class="tempClass">temp模板</view> template.js var temp = { clickView: function () { console.log

  • 微信小程序 动态绑定数据及动态事件处理

    微信小程序 动态绑定数据及动态事件处理 关键核心代码 <image class="midimage" data-Type="{{item.Type}}" data-BillCode="{{item.BillCode}}" data-src="{{item.imgurl}}" src="{{item.imgurl}}" mode="scaleToFill" bindtap="

  • 微信小程序之绑定点击事件实例详解

    微信小程序之绑定点击事件实例详解 微信小程序出来那么久了,趁着有时间自己研究一下,前阶段看一了一下,但是不允许个人注册,现在已经对个人开放了,所以爱好者们可以自己研究了. 首先,我们看一下如何添加底部的标签栏:在app.json里操作 { "pages":[ //在这里添加页面的路径 "pages/index/index", "pages/logs/logs", "pages/home/home" ], "windo

  • 微信小程序 动态绑定事件并实现事件修改样式

    微信小程序 动态绑定事件并实现事件修改样式 实例代码 wxml <scroll-view class="reportTypeScroll" scroll-x="true" scroll-left="{{toLeftNum}}"> <block wx:for-items="{{reportTypeList}}" wx:key="{{index}}"> <text type=&qu

  • 微信小程序跨页面数据传递事件响应实现过程解析

    这篇文章主要介绍了微信小程序跨页面数据传递事件响应实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙伴. 本次示例采用 uni-app 框架和 weui 样式库 实现思路 创建一个 Emitter,用于事件处理 创建一个 ... 在实际工作中有很多场景需要在第二个页面中将用户操作之后的将数据回传到上一页面.接下来将我的方案分享给小伙

  • 微信小程序实现点击按钮后修改颜色

    这篇文章主要介绍了微信小程序实现点击按钮后修改颜色,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 需实现的功能: 点击按钮后,按钮的颜色会加深 效果展示: 原按钮 点击后的按钮 思路: 给按钮设置一个点击事件,点击了按钮后,修改按钮的样式. 代码: test.wxml文件 <view wx:if="{{sty==0}}"> <view class="score" style="backg

  • 微信小程序点击顶部导航栏切换样式代码实例

    这篇文章主要介绍了微信小程序点击顶部导航栏切换样式代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 类似这样的效果 <view class='helpCateList'> <!-- 类别 --> <scroll-view class='scroll-view' scroll-x="true"> <view class="item-content" wx:key=&qu

  • 微信小程序在text文本实现多种字体样式

    这篇文章主要介绍了微信小程序在text文本实现多种字体样式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 微信小程序比较特别,它的wxml只允许用自己家的标签,像那些span.div什么的统统不可以用,那如何在text文本加入不同的样式呢,在html里面我们可以添加一个span,再给那些span添加不同的class或者style就可以了,但小程序不可以,在text里面只允许在加入text,不可以加view等东西,所以我们可以按照它提供的,再加一

  • 微信小程序批量监听输入框对按钮样式进行控制的实现代码

    在input组件上绑定data-model="xxx" bindinput="inputWatch",监听输入框输入: <input placeholder="请输入6~12位密码" name="password" value="{{password}}" data-model="password" bindinput="inputWacth" type=&qu

  • 微信小程序 简单DEMO布局,逻辑,样式的练习

    微信小程序 布局实例: 下面将会按照以下的顺序介绍: 布局的实现 逻辑的实现 样式的实现 1.布局的实现 最大的布局是view, view布局中包含了:一张图片,文字描述,信息栏和分界线 <!--最外层--> <view class="home-view1"> <!--图片层--> <view class="home-view2"> <image class="home-image1" src

  • 微信小程序监听用户登录事件的实现方法

    最近在开发小程序,小程序既需兼顾针对新用户的内容预览,又要为注册用户提供服务,简单梳理下,基本需求如下: 小程序共三个tab页,所有用户都可以浏览首页内容,了解我们可以提供的优质服务: 进入其他两个页面之后,如果用户没有登录,那就显示登录按钮,如果登录了,则显示服务内容: 用户在一个页面登陆之后,全局生效. 就这么个看起来很简单的需求,也经过了如下迭代: 将登录状态和凭据存储在 App.globalData.authorize 中,每个需要授权的页面 onload 生命周期检查 App.glob

随机推荐