微信小程序--动态添加class样式

尺寸单位:

  • rpx(responsive pixel): 可以根据屏幕宽度进行自适应。规定屏幕宽为750rpx。如在 iPhone6 上,屏幕宽度为375px,共有750个物理像素,则750rpx = 375px = 750物理像素,1rpx = 0.5px = 1物理像素。所以用rpx可解决适配问题

样式导入:

/** app.wxss **/
@import "common.wxss";

内联样式:

框架组件上支持使用 style、class 属性来控制组件的样式。

  • style:静态的样式统一写到 class 中。style 接收动态的样式,在运行时会进行解析,请尽量避免将静态的样式写进 style 中,以免影响渲染速度。
<view style="color:{{color}};" />
  • class:用于指定样式规则,其属性值是样式规则中类选择器名(样式类名)的集合,样式类名不需要带上.,样式类名之间用空格分隔。
<view class="normal_view" />

动态添加class样式:

<button bindtap="bindTabTap" class="btn1 {{signItem.class}}" data-index="{{signItem}}">{{signItem.state}}</button>
//添加class样式
        for (var i = 0; i < list.length; ++i) {
          if (list[i].status === 1) {   //当状态为1的时候显示已签,返回okSigin的class样式,class在wxss已设置
            list[i].class = ‘okSigin‘;
            list[i].state = ‘已签‘;
            continue;
          }
          list[i].class = ‘noSigin‘;  //当状态为0的时候显示未签,返回noSigin的class样式,class在wxss已设置
          list[i].state = ‘未签‘;
        }

当签到状态是已签时,禁止用户再次签到(点击)

wxml:

<button bindtap="redirect" data-text="{{signItem.text}}" data-type="{{signItem.type}}" data-state="{{signItem.state}}" hover-class="none">   //设置button
    <view class="scroll">
      <view class="radius1"></view>
      <text class="text1">{{signItem.text}}</text>
      <button bindtap="bindTabTap" class="btn1 {{signItem.class}}" data-index="{{signItem}}">{{signItem.state}}</button>
    </view>
    </button>
//点击buttonredirect :function (e) {
    var text = e.target.dataset.text;
    var type = e.target.dataset.type;
    var state = e.target.dataset.state;
    if (state === ‘已签‘) {    //已签状态是,禁止用户再次签到
      return;
    }
    wx.navigateTo({
      url: ‘../signInDetails/signInDetails?text=‘ + text + ‘&&type=‘ + type,   //页面传参到下一个页面
      success: function(res){
        // success

      },
      fail: function() {
        // fail
      },
      complete: function() {
        // complete
      }
    })
  },

下一个页面接收参数:

 <view class="scroll">{{text}}<span style="display:none">{{type}}</span></view>
 var text = options.text;
    var type = options.type;
    that.setData({
      text: text,
      type: type
    })
时间: 2024-10-23 05:50:05

微信小程序--动态添加class样式的相关文章

微信小程序动态生成保存二维码

起源:最近小程序需要涉及到一些推广方面的功能,所以要写一个动态生成二维码用户进行下载分享,写完之后受益良多,特此来分享一下: 一.微信小程序动态生成保存二维码 wxml: <canvas style="width: 350rpx;height: 350rpx;background:#f1f1f1;" canvas-id="mycanvas"/> js: // pages/qrcode/qrcode.js var QR = require("..

微信小程序覆盖自定义组件样式

小程序官方文档明确指出,引入的第三方自定义组件,是不可以对其进行CSS样式覆盖的,但是我们还想要修改怎么办呢?自定义组件时会之定义个外部类,通过这个外部类来修改样式. 修改https://weapp.iviewui.com/所提供的组件样式为例,它定义了一个外部类接口: 1. 通过第三方组件给出的externalClasses: ['i-class'],来指定自己的样式类 自己的wxml i-class="myrate" <i-rate i-class="myrate&

微信小程序——动态修改页面数据及参数传递

动态修改页面数据 在小程序中我们经常要动态渲染数据,对于新手而言我们常常遇到修改的数据在控制台显示和页面显示不一致,因为我们用“=”修改数据的,这种是可以修改,但无法改变页面的状态的,还会造成数据不一致,代码如下: data: { array: [{ text: '数组' }] } onLoad:function(){ this.data.array[0].text=1; console.log(this.data.array[0].text); } 修改代码: onLoad:function(

微信小程序button去除默认样式

button { font-size: 28rpx; background-color: #fff; border: none; padding: 0; margin: 0; line-height: 1; } input { outline: none; border: none; list-style: none; } button::after { border: none; } button为覆盖的样式 原文地址:https://www.cnblogs.com/jjmirai/p/959

微信小程序——点击切换样式scroll-view

scroll-view滚动视图点击切换样式 *.wxml <view class="content"> <view class="navbg"> <view class="nav"> <scroll-view class="scroll-view_H" scroll-x="true"> <view class="scroll-view_H&qu

微信小程序--仿京东UI样式顶部导航栏

我们先来看看京东的效果 分析 上端导航栏可以放置多个分类,可滑动 点击导航栏最右端按钮可以查看所有分类,同时背景模糊 内容部分右拉跳转到另外的分类 点击分类时导航栏的滑动部分自动滑动到合适的位置 我的实现 代码展示: js /** * categoryView.js - 分类页面 */ var fakeData = require('../../common/fakeData.js') Page( { data: { categories: ['全部'], currentTab: 0, scro

微信小程序动态修改页面标题setNavigationBarTitle

1.可以在对应的json文件里面写: { "navigationBarTitleText": "你好" } 但是这个问题有bug,在点击切换的时候,立马更改了title,但是也没还在先前的页面 优化: 在 onReady: function () { wx.setNavigationBarTitle({ title: '图像描述' //页面切换,更换页面标题 }) } 原文地址:https://www.cnblogs.com/yuan-luo/p/9101737.h

微信小程序 动态加载class

<view class=' {{topid==1?"top": "untop"}}' > 原文地址:https://www.cnblogs.com/zsczsc/p/10177441.html

微信小程序 text属性设置 WXSS样式

>微信小程序的布局css样式 参考自  珺L 文字 width: fit-content;font-size:20px;      /*设置文字字号*/color:red;           /*设置文字颜色*/font-weight:bold;    /*设置字体加粗*/border:1px solid red;/*添加边框样式(粗细为1px, 颜色为红色的实线)*/ font-family:"宋体";   /*设置字体为宋体*/ ----------------------