小程式中多滑桿的實作程式碼
這篇文章帶給大家的內容是關於小程式中多滑桿的實現程式碼 ,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
最近在用原生的程式碼開發小程序,需要用到多滑塊的slider,但是官方的api只支援單滑塊,所以就在原來的基礎上草草的寫了一個。有什麼不足的地方還請大家多多指教,想封裝成組件的也可自行封裝,我這就不講了。 ;
話不多說,上程式碼:
html:
<view class='sliderHCon'> <view class='showMoney'> <text class='MoneyValue'>¥{{leftShowValue}}</text> <text class='MoneyValue'>¥{{rightShowValue}}</text> </view> <view class='twoSlider'> <slider class='slider-left' min='{{Min}}' max='{{Max}}' value='{{leftValue}}' activeColor='#ccc' backgroundColor='#ccc' block-size='{{blockSize}}' step='{{step}}' bindchanging="leftChange" rightChange='leftChange'> <em class='slider-bg' style='left:{{setSliderLeftX}};width:{{setSliderWidthX}}'></em> </slider> <slider class='slider-right' min='{{Min}}' max='{{Max}}' value='{{rightValue}}' activeColor='#ccc' backgroundColor='#ccc' block-size='{{blockSize}}' step='{{step}}' bindchanging="rightChange" bindchange='rightChange'/> </view> </view>
css
.sliderHCon { height: 250rpx; width: 100%; margin: auto; display: flex; justify-content: center; align-items: center; flex-direction: column; } .MoneyValue { font-size: 30rpx; text-align: center; color: #999; margin-top: 15rpx; } .showMoney text { margin-right: 30rpx; } .twoSlider { width: 100%; height:100px; display: flex; flex-direction: row; justify-content: center; align-items: center; position: relative; } .slider-left,.slider-right{position: absolute;left:0;right:0;} .slider-bg{position: absolute;top:50%;margin-top:-1px;left:0;width:100%;height:2px;background: blue;z-index: 9;}
js
data: { blockSize:20, step:10, Min: 0, //最小值 Max: 1000, //最大值 leftValue: 0, //左边滑块默认值 rightValue: 1000, //右边滑块默认值 leftShowValue: 0, //界面显示左边滑块默认值 rightShowValue: 1000, //界面显示右边滑块默认值 leftWidth: '50', //左边滑块可滑动长度:百分比 rightWidth: '50', //右边滑块可滑动长度:百分比 sliderWidth:0, // slider的宽度; setSliderLeftX: 0, // 设置的sliderp的left setSliderWidthX: 0// 设置的sliderp的width }, onLoad(options) { var query = wx.createSelectorQuery(); // 如果是封装的组件的话,这边请注意写法不同哦; query.select('.slider-left').boundingClientRect((rect) => { this.setData({ sliderWidth: rect.width, setSliderLeftX: (rect.width / this.data.Max * this.data.leftValue) + this.data.blockSize/2 + 'px', setSliderWidthX: rect.width / this.data.Max * (this.data.rightValue - this.data.leftValue) - this.data.blockSize + 'px', }) }).exec(); }, // 左边滑块滑动的值 leftChange(e){ var that = this; that.setData({ leftValue: e.detail.value //设置左边当前值 }) this.setSliderBgColor(e,'left'); }, // 右边滑块滑动的值 rightChange: function (e) { var that = this; that.setData({ rightValue: e.detail.value, }) this.setSliderBgColor(e, 'right'); }, setSliderBgColor(e, type){ if (type == 'left') { // 左边 if (this.data.leftValue < this.data.rightValue) { console.log('拖左不超右边'); this.setData({ leftShowValue: e.detail.value, }) this.setData({ rightShowValue: this.data.rightValue, }) } else { console.log('拖左超右边'); this.setData({ leftShowValue: this.data.rightValue, }) this.setData({ rightShowValue: e.detail.value, }) } } else { // 右边 if (this.data.leftValue < this.data.rightValue) { console.log('拖右不超右边'); this.setData({ rightShowValue: e.detail.value, }) this.setData({ leftShowValue: this.data.leftValue, }) } else { console.log('拖右超右边') this.setData({ leftShowValue: e.detail.value, }) this.setData({ rightShowValue: this.data.leftValue, }) } } const v = this.data.sliderWidth / this.data.Max if (v * (this.data.rightShowValue - this.data.leftShowValue) - this.data.blockSize >= 0) { this.setData({ setSliderLeftX: (v * this.data.leftShowValue) + this.data.blockSize / 2 + 'px', setSliderWidthX: v * (this.data.rightShowValue - this.data.leftShowValue) - this.data.blockSize + 'px', }) // console.log(1) } else { this.setData({ setSliderLeftX: (v * this.data.leftShowValue) + this.data.blockSize / 2 + 'px', setSliderWidthX: 0 + 'px', }) } }
相關推薦:
以上是小程式中多滑桿的實作程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

隨著行動互聯網技術和智慧型手機的普及,微信成為了人們生活中不可或缺的一個應用。而微信小程式則讓人們可以在不需要下載安裝應用程式的情況下,直接使用小程式來解決一些簡單的需求。本文將介紹如何使用Python來開發微信小程式。一、準備工作在使用Python開發微信小程式之前,需要先安裝相關的Python函式庫。這裡推薦使用wxpy和itchat這兩個函式庫。 wxpy是一個微信機器

實作微信小程式中的卡片翻轉特效在微信小程式中,實現卡片翻轉特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現卡片翻轉的特效,並提供相關程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內容,一個用於顯示背面內容,具體範例程式碼如下:<!--index.wxml-->&l

小程式能用react,其使用方法:1、基於「react-reconciler」實作一個渲染器,產生一個DSL;2、建立一個小程式元件,去解析和渲染DSL;3、安裝npm,並執行開發者工具中的建構npm;4、在自己的頁面中引入包,再利用api即可完成開發。

本站10月31日消息,今年5月27日,螞蟻集團宣布啟動“漢字拾光計劃”,最近又迎來新進展:支付寶上線“漢字拾光-生僻字”小程序,用於向社會徵集生僻字,補充生僻字庫,同時提供不同的生僻字輸入體驗,以幫助完善支付寶內的生僻字輸入方法。目前,用戶搜尋「漢字拾光」、「生僻字」等關鍵字就可以進入「生僻字」小程式。在小程式裡,使用者可以提交尚未被系統辨識輸入的生僻字圖片,支付寶工程師確認後,將會對字庫進行補錄入。本站注意到,使用者也可以在小程式體驗最新的拆字輸入法,這項輸入法針對讀音不明確的生僻字設計。用戶拆

uniapp如何實現小程式和H5的快速轉換,需要具體程式碼範例近年來,隨著行動網路的發展和智慧型手機的普及,小程式和H5成為了不可或缺的應用形式。而uniapp作為一個跨平台的開發框架,可以在一套程式碼的基礎上,快速實現小程式和H5的轉換,大大提高了開發效率。本文將介紹uniapp如何實現小程式和H5的快速轉換,並給出具體的程式碼範例。一、uniapp簡介unia

實現思路x01服務端的建立首先,在服務端,使用socket進行訊息的接受,每接受一個socket的請求,就開啟一個新的線程來管理訊息的分發與接受,同時,又存在一個handler來管理所有的線程,從而實現對聊天室的各種功能的處理x02客戶端的建立客戶端的建立就要比服務端簡單多了,客戶端的作用只是對消息的發送以及接受,以及按照特定的規則去輸入特定的字符從而實現不同的功能的使用,因此,在客戶端這裡,只需要去使用兩個線程,一個是專門用於接受消息,一個是專門用於發送消息的至於為什麼不用一個呢,那是因為,只

這篇文章給大家帶來了關於微信小程式的相關問題,其中主要介紹瞭如何在小程式中用公眾號範本訊息,下面一起來看一下,希望對大家有幫助。

1.開啟微信小程序,進入對應的小程式頁面。 2.在小程式頁面中尋找會員相關入口,通常會員入口在底部導覽列或個人中心等位置。 3.點選會員入口,進入會員申請頁。 4、在會員申請頁面,填寫相關信息,如手機號碼、姓名等,完成資料填寫後,提交申請。 5.小程式方會對會員申請審核,審核通過後,用戶即可成為微信小程式會員。 6.作為會員,用戶將享有更多的會員權益,如積分、優惠券、會員專屬活動等
