1. 程式人生 > >小程式slider實現雙向滑動(價格區間選擇)

小程式slider實現雙向滑動(價格區間選擇)

本人最近在寫一個關於民宿的小程式,有個需求是,使用者可以選擇價格區間進行房屋的搜尋,首先想到的是可以用微信小程式自己的元件slider滑塊來實現,但是slider只支援單向滑動,上網查詢大量資料發現還沒有人實現小程式支援的雙向滑動,於是便自己瞎捉摸了一下。將2個slider的position設定為absolute,看起來就像是一個slider,實際上則為2個。好了不廢話了,上圖上程式碼!

wxml 程式碼:

<view class='sliderView'>
  <slider class='left' block-color='orange'  bindchange="leftSchange" min='{{leftMin}}' max='{{leftMax}}' value='{{leftValue}}' activeColor='rgb(243,242,247)' backgroundColor='rgb(243,242,247)' block-size='14'/>
  <slider class='right' block-color='orange' bindchange="rightSchange" min='{{rightMin}}' max='{{rightMax}}' value='{{rightValue}}' activeColor='rgb(243,242,247)' backgroundColor='rgb(243,242,247)' block-size='14'/>
</view>

wxss 程式碼:

.sliderView{
  position: relative;
  width: 93%;
  margin: 0 15rpx
}
.left{
  position: absolute;
  width: 90%
}
.right{
  position: absolute;
  width: 90%
}

js 程式碼:

data: {
    leftMin: 0,
    leftMax: 6,
    rightMin: 0,
    rightMax: 6,
    leftValue: 0,
    rightValue: 6
},
//價格slider滑動
  leftSchange: function (e) {
    var that = this
    that.setData({
      isQuery: false
    })
    var value = e.detail.value
    if(value==that.data.rightValue){
      if(that.data.rightValue==6) value--
      else value++
    }
    that.setData({
      leftValue: value
    })
    if(value<that.data.rightValue){
      var bg_price = that.data.priceList[value].slice(1)
      var end_price = that.data.priceList[that.data.rightValue].slice(1)
    }
    else{
      var end_price = that.data.priceList[value].slice(1)
      var bg_price = that.data.priceList[that.data.rightValue].slice(1)
    }
    list['bg_price'] = bg_price
    list['end_price'] = end_price
    wx.setStorageSync("priceList", { bg_price: value, end_price: that.data.leftValue})
    setTimeout(function () {
      wxb.Post('/api/minsu.index/index', list, function (data) {
        console.log(list,"價格slider")
        console.log(data)
        that.setData({
          isQuery: true
        })
        if (data.length != 0) {
          that.setData({
            result: data.num + '套',
          })
        }
        else {
          that.setData({
            result: '0套',
          })
        }
      })
    }, 700)
  },
//右邊
rightSchange: function (e) {
    var that = this
    that.setData({
      isQuery: false
    })
    var value = e.detail.value
    if (value == that.data.leftValue) {
      if(that.data.leftValue==6) value--
      else value++
    }
    that.setData({
      rightValue: value
    })
    if (value < that.data.leftValue) {
      var bg_price = that.data.priceList[value].slice(1)
      var end_price = that.data.priceList[that.data.leftValue].slice(1)
    }
    else {
      var end_price = that.data.priceList[value].slice(1)
      var bg_price = that.data.priceList[that.data.leftValue].slice(1)
    }
    list['bg_price'] = bg_price
    list['end_price'] = end_price
    wx.setStorageSync("priceList", { bg_price: value, end_price: that.data.leftValue })
    setTimeout(function () {
      wxb.Post('/api/minsu.index/index', list, function (data) {
        console.log(list, "價格slider")
        console.log(data)
        that.setData({
          isQuery: true
        })
        if (data.length != 0) {
          that.setData({
            result: data.num + '套',
          })
        }
        else {
          that.setData({
            result: '0套',
          })
        }
      })
    }, 700)
  },

裡面有些程式碼涉及到其他模組,可以忽略

相關推薦

程式slider實現雙向滑動價格區間選擇

本人最近在寫一個關於民宿的小程式,有個需求是,使用者可以選擇價格區間進行房屋的搜尋,首先想到的是可以用微信小程式自己的元件slider滑塊來實現,但是slider只支援單向滑動,上網查詢大量資料發現還沒有人實現小程式支援的雙向滑動,於是便自己瞎捉摸了一下。將2個slider的

微信程式實現輪番效果swiper

輪番效果在很多的網站主頁或者手機應用端都能看到,在微信小程式中使用swiper元件來實現圖片輪番,今天的小例子效果如下: 為了方便演示我將動畫切換的間隔調整為3s,現實專案中一般為5s,具體看專案需求而定。 實現圖片輪番使用swiper滑塊檢視容器元件,頁面結構檔案程式碼

WebApi接收微信程式上傳的圖片二進位制檔案流並儲存在伺服器指定路徑

找了好多天都沒找到小程式批量上傳圖片的方法,然後我現在的邏輯是: 取到上傳圖片的集合,迴圈呼叫小程式wx.UploadFile方法,依次上傳 後端取到檔案之後生成唯一MD5碼(相同的檔案生成的MD5碼是唯一的),然後取前兩位後兩位建立資料夾,儲存圖片前判斷下圖片是否存在。(

程式無限層級路由方案無框架依賴

背景 小程式歷史棧最多隻支援10層 當小程式業務比較複雜時,就很容易超過10層。 當超過10層後,有的機型是點選無反應,有的機型會出現一些未知錯誤 為了解決這些問題,我們引入了無限層級路由方案。 方案 首先宣告一下,最初方案並不是我提出的,是我司內部一位清華學霸提出的。但他們是基於w

程式文字溢位顯示省略號單行/多行

  1.單行:外部容器應加overflow: hidden;否則不顯示省略號 .text { font-size: 38rpx; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }  

微信程式檔案預覽原始碼可以直接用

微信小程式的檔案預覽 微信小程式的檔案預覽需要先使用wx.downloadFile下載檔案,然後使用下載檔案的臨時路徑通過wx.openDocument進行檔案的預覽 wxml程式碼: <button bindtap='preview'>簡歷預覽&

程式轉發連結開啟異常連結有中文

小程式轉發出去的連結引數裡面有中文的話,點選開啟頁面異常,因為連結引數異常,導致介面獲取資料異常,然後頁面無法正常顯示 這是因為中文在轉發的時候讓http協議自動進行了url轉碼,轉成了一串這種形式的字母%e8%bd%ac%e7%a0%81%e6%b5%8b%e

微信程式之音樂控制播放audio的API

一.小知識 1.wx.getBackgroundAudioPlayerState(OBJECT):獲取後臺音樂播放狀態。 wx.getBackgroundAudioPlayerState({

【android】ViewPager的使用——實現左右滑動下方帶圓點

官方解釋: ViewPager is most often used in conjunction with Fragment, which is a convenient way to supply and manage the lifecycle

微信程式 java服務端記附部署過程

1、檔案上傳,使用springmvc一直不行,後來看到別人有一樣的情況改成了serverlet就可以了2、因為要進行語音識別成文字,上傳的語音檔案是silk格式,需要用到訊飛的語音識別所以必須轉成wav,用到了kn007大神的這個工具https://github.com/kn

java實現程式獲取二維碼介面B

應用場景: 實際應用場景:比如分享助力、名片分享之類的頁面需要生成二維碼 為滿足不同需求和場景,小程式提供了三個介面,開發者可挑選適合自己的介面 介面A:適用於需要的碼數量較少的業務場景 生成小程式碼,可接受 path 引數較長,生成個數受限,數量限制見 下面注意

基於java的微信程式實現視訊首頁的前後端開發

1.效果演示 2.編寫分頁查詢全部視訊的介面開發 1.需求分析 該介面會查詢資料庫中全部的視訊內容,因為視訊內容過多,要採用分頁查詢,這裡我們使用Pageable對查詢結果進行分頁處理,另外,在前端顯示視訊的內容時候還需要額外的顯示使用者的頭像和暱稱資訊,所以在進行視訊列表

基於java的微信程式實現使用者視訊上傳的前後端開發

1.使用者上傳視訊功能需求分析 使用者在登入之後可以在個人資訊頁面點選上傳視訊按鈕,會讓使用者在本地選擇一段視訊進行上傳,視訊不能過長,選擇好後,使用者會跳轉到選擇背景音樂的介面,可以選擇為該視訊加上一段背景音樂,並且可以對該視訊做相關描述,然後點選上傳視訊按鈕,完成視訊上傳。 2.

基於java的微信程式實現使用者個人資訊程式端開發

1.個人資訊頁面展示 2.顯示個人資訊功能 1.需求分析 在該頁面首先需要在載入完畢後去呼叫後端的查找個人資訊的介面,並將返回的值回顯到個人資訊頁面上 2.js程式碼的編寫 onLoad:function(params){ var me=this;

基於java的微信程式實現使用者個人資訊相關介面開發

1.查詢使用者個人資訊介面開發 1.需求分析 需要通過前端傳來的使用者的userid去資料庫中進行查詢,並將查詢到的物件封裝為usersVo返回給前端 dao層程式碼 public interface UsersDao extends JpaRepository<Use

基於java的微信程式實現登入,註冊,注程式端的實現

1.微信小程式專案結構認識 js檔案用來寫相關的邏輯操作,主要是用來操作資料 json檔案用來寫一些相關的配置 wxss相當於css用來寫頁面樣式 wxml相當於html用來寫頁面的元素的 pages資料夾中可以存放多個資料夾,每個資料夾裡面都是一套是js,json

基於java的微信程式實現登入,註冊,登出介面的實現

1.開發工具以及相關環境的配置 1.首先關於IDE,前端小程式端採用的是微信官方的微信開發者工具,後端使用的是idea(idea是真的智慧,再也不想回去eclipse了呢),關於前端的一些程式碼,主要是參照微信官方的API進行開發的,整體的檔案結構也和js,css,html也很相似。

基於java的微信程式實現專案介紹

一,專案介紹 佐倉短視訊是一個以java為後臺編寫的短視訊類的微信小程式專案 使用者可以實現登入,註冊,視訊檢視,視訊上傳,個人資訊檢視,頭像上傳等功能 二,技術選型和效果預覽 本專案後端採用spring boot +spring data jpa的技術實現

微信程式坑-scroll-view滑動列表就一行,沒有填滿螢幕就會觸發上拉載入事件

比方說如下圖片中有一個滑動列表。我的這個頁面只有一行資料,按理說我們滑動時候是不應該觸發上拉載入的,因為滑動的 scroll-view元素高度是設定的100%。結果我這裡就觸發了上拉載入事件。圖中兩個箭頭,箭頭1的地方是 scroll-view的一個子元素的margin-to

程式如何實現多圖上傳、圖片預覽效果?程式碼示例

wxml程式碼: <view class="weui-uploader__hd"> <view class="weui-uploader__title">點選可預覽選好的圖片</view> <view class="weui-