zoukankan      html  css  js  c++  java
  • 小程序组件(四)

    利用slider滑动条 组件控制颜色的变化。

    <!--index.wxml-->
    <view class='box'>
      <view class='title'>滑动条和颜色</view>
      <text>红色滑动条</text>
      <slider data-color="r" value='{{r}}' max="255" block-color='red' show-value='true' bindchanging='colorChanging'></slider>
      <text>绿色滑动条</text>
      <slider data-color="g" value='{{g}}' max="255" block-color='green' show-value='true' bindchanging='colorChanging'></slider>
      <text>蓝色滑动条</text>
      <slider data-color="b" value='{{b}}' max="255" block-color='blue' show-value='true' bindchanging='colorChanging'></slider>
      <text>透明度滑动条</text>
      <slider data-color="a" value='{{a}}' max="1" step='0.01' block-color='purple' show-value='true' bindchanging='colorChanging'></slider>
      <view class='colorArea' style="background-color:rgba({{r}},{{g}},{{b}},{{a}});"></view>
    </view>
    <slider data-color="r" value='{{r}}' max="255" block-color='red' show-value='true' bindchanging='colorChanging'></slider>data-XXX属性用来存储页面的数据,可以将值直接传递到js文件中
    数据绑定能将js文件中的变量渲染到wxml文件,wxml中定义的data属性可以直接将值传递到js中去使用,这样就实现了数据的双向传递,value属性表示滑动条的初始值,max滑动条的最大值,最小值默认为0,block-color滑动块的颜色,
    show-value为true表示显示value值,bindchanging,当滑动滑块的时候,即使触发colorChanging事件,调用js文件中定义的colorChanging函数
    step='0.01'step属性,滑动的时候依次能滑动多少,默认是1
    这几个slider组件定义的滑动事件,调用的是同一个函数colorChanging,通过data-color属性区分滑动的哪一个滑动条
    <view class='colorArea' style="background-color:rgba({{r}},{{g}},{{b}},{{a}});"></view>
    class='colorArea'指定了颜色区域的区域大小,style设置区域颜色,背景颜色通过rgba()函数设置,四个参数分别作了绑定,值从js文件中传递过来,rgba:红绿蓝和透明度
    /**index.wxss**/
    
    .colorArea {
      width: 335px;
      height: 100px;
    }
    //index.js
    Page({
      data: {
        r: 50,
        g: 100,
        b: 150,
        a: 1
      },
      colorChanging(e) { 
        let color = e.currentTarget.dataset.color //获取当前slider组件的data-color值
        let value = e.detail.value; //获取当前slider组件的value值
        console.log(color,value) //在console中显示信息
        this.setData({
          [color]: value //将value值赋值给数组color
        })
      }
    })
    js中定义了data对象中的属性值和colorChanging函数
    colorChanging(e)e代表滑动滑块的事件
    let定义变量,var和let定义变量都可以
    e.currentTarget目前正在使用的滑动条
    e.currentTarget.dataset目前正在使用的滑动条的data数据
    e.currentTarget.dataset.color目前正在使用的滑动条的data-color数据

    slider组件

      slider是滑动选择器组件,通过滑动该组件来改变滑块位置。其常用属性如下所示:

      

       

     rgb()和rgba()函数

      视图层颜色的变化可以通过函数rgb(red,green,blue) 和rgba(red,green,blue,alpha) 来动态设置,其参数red, green, blue, alpha分别表示红、绿、蓝和透明度。

    组件的data-* 属性

      用于存储页面或应用程序的私有自定义数据,存储的数据能够在JavaScript中使用。data-* 属性包括两部分:

      属性名:不能包含任何大写字母,并且在前缀 "data-" 之后必须至少有一个字符,<sliderdata-color="r"value='{{r}}'max="255"block-color='red'show-value='true'bindchanging='colorChanging'></slider>

      属性值:可以是任意字符串,获取属性值:let color = e.currentTarget.dataset.color //获取当前slider组件的data-color值

        

      

  • 相关阅读:
    EXT--columnWidth
    EXT经验--查询items的xtype
    修改VS解决方案及工程名,解决如何打开高/版本VS项目
    jQuery Ajax 全解析(转)
    MS SqlSever一千万条以上记录分页数据库优化经验总结【索引优化 + 代码优化】[转]
    .net框架版本说明
    [Ajax] 使用Ajax异步上传图片文件(非Form表单提交)
    CodeSmith 7.01破解下载
    jQuery插件之Cookie
    Oracle笔记 目录索引
  • 原文地址:https://www.cnblogs.com/suitcases/p/13439383.html
Copyright © 2011-2022 走看看