微信小程序canvas區(qū)間滑動(dòng)選取
2020-09-27|HiShop
導(dǎo)讀:cancas一般用于小程序的繪圖,那么在微信小程序canvas區(qū)間滑動(dòng)選取中要如何制作。下面為大家解答。...
cancas一般用于小程序的繪圖,那么在微信小程序canvas區(qū)間滑動(dòng)選取中要如何制作。下面為大家解答。
目標(biāo)js文件使用 import 引入; 然后在onLoad(){}里面要一下寫(xiě)入例如: this.selectInterval = new selectInterval({屬性});
- this.selectInterval = new SelectInterval({
- canvasId:'canvas', 值必須是canvas組件的canvas-id屬性的值
- canvasHeight:100, 值必須是當(dāng)前畫(huà)布的高度
- Xaxis:{left:30,right:345}, { left:30, 橫條的左端 right:345, 橫條的右端 }(right必須大于left,如果不傳有默認(rèn)值)
- scale:[10,20,30], 刻度值A(chǔ)rray類(lèi)型,取值以一個(gè)不變數(shù)為常量不斷遞增,數(shù)組任何兩個(gè)前后值相減要恒等于這個(gè)常量,如果數(shù)組第一個(gè)值不是0, 會(huì)默認(rèn)在數(shù)組前面添加一個(gè)0,但是0這個(gè)值不會(huì)在canvas上顯示,(當(dāng)數(shù)組長(zhǎng)度是2的時(shí)候,
- 可以設(shè)置任意大于零的數(shù)值,但第二個(gè)值必須大于第一個(gè)值);
- Yaxis:[125,5], 刻度值A(chǔ)rray類(lèi)型,第一個(gè)值是繪制的橫條的起始高度,第二個(gè)值是橫條本身的高度(如果不傳默認(rèn)[125,5])
- manner:true, 切換選擇滑動(dòng)點(diǎn)的上方在滑動(dòng)的時(shí)候是否有跟隨圓球,如果值為false那么明確顯示區(qū)間滑動(dòng)所得的最小值與最大值
- bothEndsNear:310, 可以設(shè)置刻度值和尺度點(diǎn)距離橫條的開(kāi)頭與終點(diǎn)的距離,不傳默認(rèn)居中
- // decimalPoint:10, 刻度值/decimalPoint,可以使刻度值變小數(shù),必須是10的倍數(shù),可以不傳
- // rightSliderStop:2, 值為一個(gè)Boolean或者在manner的值為true的時(shí)候可填number,可以不傳;而number的值就是最大值與最小值的差,設(shè)置后兩個(gè)滑動(dòng)點(diǎn)是不會(huì)滑動(dòng)到小于這個(gè)number的距離
- showTitle:{
- name:'km', String類(lèi)型,用作設(shè)置單位
- size:15, 標(biāo)簽字體大小,Number類(lèi)型
- title:'#1384e0', 頭部標(biāo)簽的字體顏色或者圓球里面的字體顏色,String類(lèi)型
- positionX:100, 標(biāo)簽字體在canvas橫向的位置,Number類(lèi)型,只有manner為false或者不傳的時(shí)候生效
- positionY:80, 標(biāo)簽字體或者圓球在canvas縱向的位置,Number類(lèi)型
- isfollow:{ 跟隨圓球大小與顏色的設(shè)置,manner的值為false或不傳的時(shí)候,這個(gè)屬性可以不給
- view:true, manner的值為true時(shí),view的值必須為true
- roundSize:12, 圓球大小
- roundColor:'rgba(10, 113, 238, 0.8)' 圓球的顏色
- }
- },(如果不傳不會(huì)顯示頭部標(biāo)簽)
- scaleIn:{
- name:'km', String類(lèi)型,用作設(shè)置單位
- size:10, 控制刻度值字體的大小,Number類(lèi)型
- valueY:108, 刻度值在canvas縱坐標(biāo)的位置,Number類(lèi)型
- pointY:113 尺度點(diǎn)在canvas縱坐標(biāo)的位置,Number類(lèi)型
- },(如果不傳不會(huì)顯示刻度值)
- colour:{
- colorBar:['#e5e5e5','#1384e0'], 橫條的顏色,Array類(lèi)型,第一個(gè)是橫條的底色,第二個(gè)是取值范圍的顏色
- roundColor:['#ffffff','#e5e5e5'], 圓圈顏色,Array類(lèi)型,第一個(gè)是圓的顏色,第二個(gè)是圓的邊框顏色
- scale:['#000000','#999999'] 刻度數(shù)值的字體顏色
- },(如果不傳會(huì)顯示上面的默認(rèn)參數(shù))
- selectedInterval:{
- min:15,
- max:23
- },(min不能大區(qū)等于max,如果不傳只會(huì)顯示在橫條的兩端)
- round:{
- radius:10,
- edgeLine:2
- },(如果不傳會(huì)默認(rèn)圓的半徑為10,邊框?yàn)?)
- // image:{
- // url:'../../assets/image/spot-a.png', 圖片的本地路徑值為String類(lèi)型;值可以為數(shù)組,但是如果是數(shù)組時(shí)數(shù)組的長(zhǎng)度必須是2
- // width:20, 設(shè)置圖片的寬度
- // height:24 設(shè)置圖片的高度
- // },(如果不傳不會(huì)顯示圖片)
- followValue:{
- name:'', String類(lèi)型,用作設(shè)置單位
- color:'#f8835f',
- size:10, 設(shè)置字體大小
- leftY:151, 隨數(shù)值在canvas縱向的位置
- rightY:151
- }(如果不傳不會(huì)顯示跟隨數(shù)值)
- });
/**Page({})里面創(chuàng)建如下屬性 必須
- 自定義(e){ bindtouchstart
- this.selectInterval.move(e.changedTouches[0].x,e.changedTouches[0].y);
- },
- 自定義(e){ bindtouchmove
- this.selectInterval.meter(e.changedTouches[0].x);
- },
- 自定義(e){ bindtouchend
- this.selectInterval.texthints((min,max)=>{
- 參數(shù)min/max返回的值是最小/大價(jià)格,超過(guò)最大值max返回null
- console.log(min,max);
- },true);初始化時(shí)傳入manner屬性的值為true時(shí)候,這個(gè)函數(shù)的第二個(gè)參數(shù)的true就要傳,不傳也沒(méi)什么問(wèn)題,只是結(jié)果會(huì)有不同;
- },
- <canvas canvas-id="canvas" bindtouchstart="自定義" bindtouchmove="自定義" bindtouchend="自定義"></canvas>
- 畫(huà)布css樣式width:100%;box-sizing: border-box;height: 自定義rpx;