最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序?qū)崿F(xiàn)可拖動(dòng)懸浮圖標(biāo)(包括按鈕角標(biāo)的實(shí)現(xiàn))

 更新時(shí)間:2020年12月29日 08:43:12   作者:юноша  
這篇文章主要介紹了微信小程序?qū)崿F(xiàn)可拖動(dòng)懸浮圖標(biāo)(包括按鈕角標(biāo)的實(shí)現(xiàn)),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

在制作商城類微信小程序的過程中,我們經(jīng)常會(huì)碰到需要增加可拖動(dòng)懸浮圖標(biāo)的情況,本文簡單的介紹一下可拖動(dòng)懸浮按鈕的實(shí)現(xiàn)。

運(yùn)行截圖:

在這里插入圖片描述

主要代碼:

js:

var startPoint
Page({
 data: {
 //按鈕位置參數(shù)
 buttonTop: 0,
 buttonLeft: 0,
 windowHeight: '',
 windowWidth: '',
 //角標(biāo)顯示數(shù)字
 corner_data:0,
 },
 onLoad:function(){
 //定義角標(biāo)數(shù)字
 this.setData({
  corner_data:3
 })
 // 獲取購物車控件適配參數(shù)
 var that =this;
 wx.getSystemInfo({
  success: function (res) {
  console.log(res);
  // 屏幕寬度、高度
  console.log('height=' + res.windowHeight);
  console.log('width=' + res.windowWidth);
  // 高度,寬度 單位為px
  that.setData({
   windowHeight: res.windowHeight,
   windowWidth: res.windowWidth,
   buttonTop:res.windowHeight*0.70,//這里定義按鈕的初始位置
   buttonLeft:res.windowWidth*0.70,//這里定義按鈕的初始位置
  })
  }
 })
 },
 //可拖動(dòng)懸浮按鈕點(diǎn)擊事件
 btn_Suspension_click:function(){
 //這里是點(diǎn)擊購物車之后將要執(zhí)行的操作
 wx.showToast({
  title: '點(diǎn)擊成功',
  icon:'success',
  duration:1000
 })
 },
 //以下是按鈕拖動(dòng)事件
 buttonStart: function (e) {
 startPoint = e.touches[0]//獲取拖動(dòng)開始點(diǎn)
 },
 buttonMove: function (e) {
 var endPoint = e.touches[e.touches.length - 1]//獲取拖動(dòng)結(jié)束點(diǎn)
 //計(jì)算在X軸上拖動(dòng)的距離和在Y軸上拖動(dòng)的距離
 var translateX = endPoint.clientX - startPoint.clientX
 var translateY = endPoint.clientY - startPoint.clientY
 startPoint = endPoint//重置開始位置
 var buttonTop = this.data.buttonTop + translateY
 var buttonLeft = this.data.buttonLeft + translateX
 //判斷是移動(dòng)否超出屏幕
 if (buttonLeft+50 >= this.data.windowWidth){
  buttonLeft = this.data.windowWidth-50;
 }
 if (buttonLeft<=0){
  buttonLeft=0;
 }
 if (buttonTop<=0){
  buttonTop=0
 }
 if (buttonTop + 50 >= this.data.windowHeight){
  buttonTop = this.data.windowHeight-50;
 }
 this.setData({
  buttonTop: buttonTop,
  buttonLeft: buttonLeft
 })
 },
 buttonEnd: function (e) {
 }
})

wxml:

<!--可拖動(dòng)按鈕控件表-->
<!--buttonStart和buttonEnd一定不能用catch事件,否則按鈕點(diǎn)擊事件會(huì)失效-->
<view class="btn_Suspension" bindtap="btn_Suspension_click" catchtouchmove="buttonMove" bindtouchstart="buttonStart" bindtouchend="buttonEnd" style="top:{{buttonTop}}px;left:{{buttonLeft}}px;">
 <image class="Suspension_logo" src="../images/Suspension.png"></image><!--這里是按鈕圖標(biāo),下載地址會(huì)在文章底部說明-->
 <view wx:if="{{corner_data==0}}"></view>
 <view wx:else>
  <view class="cornorMark">
  <text>{{corner_data}}</text>
  </view>
 </view>
 </view>

wxss:

Page{
 background: #f5f5f5;
}
/**可拖動(dòng)懸浮按鈕樣式表**/
.btn_Suspension{
 position: fixed;
 height: 100rpx;
 width: 100rpx;
 background-color: rgba(255, 255, 255, 0.755);
 border-radius: 100%;
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 99999;
 box-shadow: 1px 0px 1px 1px #ede7e7;
}
.Suspension_logo{
 position:absolute;
 height:50%;
 width:50%;
 left:23%;
 top:27%
}
.cornorMark{
 position:absolute;
 background: rgb(242, 109, 38);
 border:1px solid rgb(242, 109, 38);
 border-radius: 100px;
 width:30rpx;
 height:30rpx;
 top:-17rpx;
 right:3rpx;
 color:#fff;
 font-size: 12px;
 text-align: center;
}
.cornorMark text{
 position:absolute;
 width:100%;
 left:0%;
 text-align: center;
 top:-1px;
}

圖標(biāo)素材下載地址:

Iconfont阿里巴巴矢量圖標(biāo)庫:https://www.iconfont.cn/

到此這篇關(guān)于微信小程序?qū)崿F(xiàn)可拖動(dòng)懸浮圖標(biāo)(包括按鈕角標(biāo)的實(shí)現(xiàn))的文章就介紹到這了,更多相關(guān)小程序?qū)崿F(xiàn)懸浮圖標(biāo)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 前端bug調(diào)試的方法技巧及常見錯(cuò)誤

    前端bug調(diào)試的方法技巧及常見錯(cuò)誤

    這篇文章主要介紹了編程中常見的報(bào)錯(cuò)和Bug,以及調(diào)試的重要性,調(diào)試的基本流程是通過縮小范圍來定位問題,并給出了推測法、刪除代碼法、console調(diào)試和debugger調(diào)試等方法,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 理解?JavaScript?對象屬性訪問的復(fù)雜性(示例代碼)

    理解?JavaScript?對象屬性訪問的復(fù)雜性(示例代碼)

    在?JavaScript?編程中,開發(fā)者經(jīng)常需要對對象的屬性進(jìn)行訪問,然而,訪問方式的不同可能導(dǎo)致代碼行為的差異,尤其在動(dòng)態(tài)屬性的處理中,本文介紹JavaScript對象屬性訪問的復(fù)雜性,感興趣的朋友跟隨小編一起看看吧
    2024-12-12
  • javascript 實(shí)現(xiàn)頁面加載進(jìn)度條代碼

    javascript 實(shí)現(xiàn)頁面加載進(jìn)度條代碼

    javascript 實(shí)現(xiàn)頁面加載進(jìn)度條代碼,需要的朋友可以參考下。
    2010-04-04
  • 一次讓你了解全部JavaScript的作用域

    一次讓你了解全部JavaScript的作用域

    這篇文章主要介紹了一次讓你了解全部JavaScript的作用域,作用域決定了變量的生命周期和可見性,變量在作用域范圍之外是不可見的。,需要的朋友可以參考下
    2019-06-06
  • JavaScript?中的單例內(nèi)置對象Global?與?Math

    JavaScript?中的單例內(nèi)置對象Global?與?Math

    這篇文章主要介紹了JavaScript?中的單例內(nèi)置對象Global與Math,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-07-07
  • js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義介紹

    js特殊字符轉(zhuǎn)義。需要的朋友可以過來參考下,希望對大家有所幫助
    2013-11-11
  • js獲取select標(biāo)簽選中值的兩種方式

    js獲取select標(biāo)簽選中值的兩種方式

    獲取select標(biāo)簽選中的值有很多方法,下面通過兩種方式使用js來進(jìn)行獲取,喜歡的朋友可以參考下
    2014-01-01
  • JavaScript單元測試ABC

    JavaScript單元測試ABC

    在服務(wù)器端的單元測試中,都有各種各樣的測試框架,在JavaScript中現(xiàn)在也有一些很優(yōu)秀的框架,但在本文中,我們將自己動(dòng)手一步步來實(shí)現(xiàn)一個(gè)簡單的單元測試框架
    2012-04-04
  • bootstrap table實(shí)例詳解

    bootstrap table實(shí)例詳解

    本文通過實(shí)例代碼給大家介紹了bootstrap table樣式,非常不錯(cuò),具有參考借鑒價(jià)值,需要的的朋友參考下
    2017-01-01
  • js實(shí)現(xiàn)3D輪播圖效果

    js實(shí)現(xiàn)3D輪播圖效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)3D輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10

最新評論

汶川县| 赣州市| 渝中区| 开原市| 湘西| 永丰县| 开原市| 广河县| 子长县| 兴国县| 武冈市| 通道| 邹城市| 五家渠市| 宽甸| 柳州市| 塔城市| 安化县| 板桥市| 桐乡市| 绥化市| 新民市| 昌平区| 藁城市| 剑阁县| 永兴县| 伊春市| 彭泽县| 闻喜县| 丘北县| 通海县| 永春县| 土默特左旗| 迁西县| 邵阳县| 五台县| 丹寨县| 江安县| 兰西县| 广东省| 孝感市|