目錄
一、整個抽獎流程的想法分析:
二、圓形抽獎轉盤元件需要做的事情
三、頁面預覽
四、基礎用法
五、roundTurntable元件的屬性說明
#六、roundTurntable元件的事件說明
首頁 web前端 Vue.js vuejs 可以做轉盤嗎

vuejs 可以做轉盤嗎

Sep 21, 2021 pm 03:42 PM
vuejs

vuejs可以做轉盤,其實作方法:1、建立抽獎按鈕;2、取得轉盤應該停止的位置;3、與後台互動;4、在動畫結束後停在步驟2設定的地方; 5.設定提示中獎解鎖功能。

vuejs 可以做轉盤嗎

本文操作環境:windows7系統、Vue2.9.6版、Dell G3電腦。

vuejs 可以做唱盤嗎?

Vue中可設定的圓形抽獎轉盤元件

一、整個抽獎流程的想法分析:

  1. 點擊了轉盤正中間的指針(即開始抽獎按鈕),判斷是否可以轉動(具體邏輯封裝在canBeRotated()裡--①目前擁有的抽獎次數是否大於0②現在是否正在轉動(被鎖著)),判斷通過則進行下一步, 否則彈出相應提示。
  2. 取得轉盤應該停止的位置,應該與後台交互,但這裡僅作演示用途, 本地隨機抽取0~5。
  3. 與後台互動成功取得到該停止的位置後,鎖定轉盤且減少抽獎次數。
  4. 告訴轉盤組件,開始轉動了,並且動畫結束後停在步驟2設定的地方。
  5. 轉盤轉動,停在步驟3設定的地方後再提示中獎,解鎖。

二、圓形抽獎轉盤元件需要做的事情

  1. 可以自訂每一格轉盤的背景顏色,外邊框的顏色。 (turntableStyleOption屬性)
  2. 轉盤的大小與位置。 (呼叫時,為元件加個class,程式碼裡為turntable
  3. 自訂這個轉盤運轉起來要轉過的圈數。 (rotateCircle屬性)
  4. 可以自訂運轉動畫的時長。 (duringTime屬性)
  5. 透過接收到父元件傳遞過來的獎品資訊(prizeData),顯示在每一格轉盤的位置。 (計算要根據圓心旋轉的角度getRotateAngle()方法)
  6. #被父元件呼叫後就開始轉動,並在指定位置停下的方法(rotate# ),結束動畫後告訴父組件已停下。
  7. 獎品的名稱和圖片可以自訂樣式。

三、頁面預覽

vuejs 可以做轉盤嗎

四、基礎用法

  1. 引用
import roundTurntable from './components/roundTurntable';
登入後複製
  1. 宣告
components: {
  roundTurntable
},
登入後複製
  1. 呼叫
<round-turntable>
    <template>
      <p>{{ scope.item.prizeName }}</p>
      <p>
        <img  src="/static/imghw/default1.png" data-src="scope.item.prizeImg" class="lazy" alt="vuejs 可以做轉盤嗎" >
      </p>
    </template>
</round-turntable>
登入後複製
data() {
  return {
    // 转盘上的奖品数据
    prizeData: [
   {
     id: 1,
     prizeName: '2000元京东券',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/1.png',
   },
   {
     id: 2,
     prizeName: '300元京东券',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/7.png',
   },
   {
     id: 3,
     prizeName: '50个比特币',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/3.png',
   },
   {
     id: 4,
     prizeName: '50元话费券',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/4.png',
   },
   {
     id: 5,
     prizeName: '100元话费券',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/5.png',
   },
   {
     id: 6,
     prizeName: '100个比特币',
     prizeImg: 'http://demo.sc.chinaz.net/Files/DownLoad/webjs1/201803/jiaoben5789/images/6.png',
   }
  ],
  // 转动的圈数
  rotateCircle: 6,
  // 转动需要持续的时间(s)
  duringTime: 4.5,
  // 转盘样式的选项
  turntableStyleOption: {
    // 背景色
    prizeBgColors: ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F'],
    // 转盘的外边框颜色
    borderColor: '#199301',
  },
 }
},
methods: {
  // 已经转动完转盘触发的函数
   endRotation() {
      // 提示中奖
      alert(`恭喜您获奖啦,您的奖品是:${this.prizeData[this.prizeIndex].prizeName}`);
   },
},
登入後複製
.turntable {
  position: absolute;
  left: calc(50% - 200px);
  top: calc(50% - 200px);
  width: 400px;
  height: 400px;
}
.turntable-name {
  /*background: pink;*/
  position: absolute;
  left: 10px;
  top: 20px;
  width: calc(100% - 20px);
  font-size: 26px;
  text-align: center;
  color: #fff;
}
  .turntable-img {
  position: absolute;
  /*要居中就要50% - 宽度 / 2*/
  left: calc(50% - 80px / 2);
  top: 60px;
  width: 80px;
  height: 80px;
  img {
    display: inline-block;
    width: 100%;
    height: 100%;
  }
}
登入後複製

五、roundTurntable元件的屬性說明

##— prizeData顯示在轉盤上的獎品資料array—rotateCircle轉盤要轉過的圈數numberduringTime轉動需要持續的時間(單位為秒number##turntableStyleOption{ prizeBgColors: ['#AE3E​​FF', '# 4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F'], borderColor: '#199301' }#class
參數 說明 類型 預設值
ref #取得這元件的dom節點,呼叫子元件的開始轉動動畫方法要用到this.$refs[refName].rotate(index) string
6
s 4.5
轉盤的樣式選項(背景色、外邊框顏色) object
#class 用來定義轉盤位置和大小的樣式 string

#六、roundTurntable元件的事件說明

##endRotation轉盤停下來後觸發的事件回呼—
事件名稱 說明 回呼參數
#七、完整項目代碼

https:// github.com/LiaPig/vue-round-turntable

#使用到的獎品圖片和指標圖片都來自:

http://sc.chinaz.com/jiaobendemo.aspx?downloadid= 12018113053246

以上是vuejs 可以做轉盤嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧 使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧 Jul 31, 2023 pm 02:17 PM

使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧隨著行動應用的普及和用戶需求的不斷增長,安卓應用的開發越來越受到開發者的關注。在開發安卓應用程式時,選擇合適的技術堆疊至關重要。近年來,Vue.js和Kotlin語言逐漸成為安卓應用程式開發的熱門選擇。本文將介紹使用Vue.js和Kotlin語言開發安卓應用程式的一些技巧,並給出對應的程式碼範例。一、搭建開發環境在開始

使用Vue.js和Python開發資料視覺化應用的一些技巧 使用Vue.js和Python開發資料視覺化應用的一些技巧 Jul 31, 2023 pm 07:53 PM

使用Vue.js和Python開發資料視覺化應用的一些技巧引言:隨著大數據時代的到來,資料視覺化成為了一個重要的解決方案。而在資料視覺化應用的開發中,Vue.js和Python的組合能夠提供靈活性和強大的功能。本文將分享一些使用Vue.js和Python開發資料視覺化應用的技巧,並附上對應的程式碼範例。一、Vue.js簡介Vue.js是一款輕量級的JavaSc

Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享 Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享 Aug 01, 2023 pm 08:14 PM

Vue.js與Lua語言的融合,建構遊戲開發的前端引擎的最佳實踐和經驗分享引言:隨著遊戲開發的不斷發展,遊戲前端引擎的選擇成為了一個重要的決策。在這些選擇中,Vue.js框架和Lua語言都成為了眾多開發者的關注點。 Vue.js作為一款受歡迎的前端框架具有豐富的生態系統和便捷的開發方式,而Lua語言則因其輕量級和高效性能在遊戲開發中得到廣泛應用。本文將探討如何將

如何使用Vue實現仿QQ聊天氣泡特效 如何使用Vue實現仿QQ聊天氣泡特效 Sep 20, 2023 pm 02:27 PM

如何使用Vue實現仿QQ聊天氣泡特效在現今的社交時代,聊天功能已成為了手機應用程式和網頁應用程式的核心功能之一。而聊天介面中最常見的元素之一就是聊天氣泡,它可以清楚地將發送者和接收者的訊息區分開來,有效地提高了訊息的可讀性。本文將介紹如何使用Vue實現仿QQ聊天氣泡特效,以及提供具體的程式碼範例。首先,我們需要建立一個Vue元件來表示聊天氣泡。組件包含兩個主要部分

Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議 Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議 Jul 30, 2023 pm 03:01 PM

Vue.js與Objective-C語言的集成,開發可靠的Mac應用的技巧和建議近年來,隨著Vue.js在前端開發中的普及和Objective-C在Mac應用開發中的穩定性,開發者們開始嘗試將這兩者結合起來,以開發出更可靠和高效的Mac應用程式。本文將介紹一些技巧和建議,幫助開發者正確整合Vue.js和Objective-C,並開發出高品質的Mac應用。一

如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能 如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能 Aug 27, 2023 am 11:51 AM

如何使用PHP和Vue.js實現圖表上的資料篩選和排序功能在網頁開發中,圖表是一種非常常見的資料展示方式。使用PHP和Vue.js可以輕鬆實現圖表上的資料篩選和排序功能,使用戶能夠自訂查看圖表上的數據,提高資料的視覺化效果和使用者體驗。首先,我們需要準備一組資料供圖表使用。假設我們有一個資料表格,包含姓名、年齡和成績三列,資料如下:姓名年齡成績張三1890李

使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具 使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具 Jul 31, 2023 pm 06:43 PM

使用Vue.js和Perl語言開發高效的網路爬蟲和資料抓取工具近年來,隨著網路的快速發展和資料的日益重要,網路爬蟲和資料抓取工具的需求也越來越大。在這個背景下,結合Vue.js和Perl語言開發高效率的網路爬蟲和資料抓取工具是個不錯的選擇。本文將介紹如何使用Vue.js和Perl語言開發這樣一個工具,並附上對應的程式碼範例。一、Vue.js和Perl語言的介

Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧 Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧 Aug 02, 2023 pm 03:33 PM

Vue.js與Dart語言的集成,建構酷炫的行動應用UI介面的實踐與開發技巧引言:在行動應用開發中,使用者介面(UI)的設計與實作是非常重要的一部分。為了能夠實現酷炫的行動應用程式介面,我們可以將Vue.js與Dart語言進行集成,借助Vue.js的強大資料綁定和組件化特性,以及Dart語言的豐富的行動應用開發庫,來構建出令人驚豔的行動應用UI介面。本文將介紹如何

See all articles