欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實現簡單轉盤抽獎功能

 更新時間:2022年03月09日 10:04:37   作者:jiyuchengzhou  
這篇文章主要為大家詳細介紹了vue實現簡單轉盤抽獎功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了vue實現簡單轉盤抽獎的具體代碼,供大家參考,具體內容如下

樣式請大家忽略(自己調),主要看JS代碼實現,點擊按鈕后調用start方法,判斷是否在轉動狀態(tài),如果沒轉動則調用go方法,go方法主要封裝了一次性定時器,是個遞歸函數,調用go函數后即可實現抽獎轉盤的效果了,詳細代碼如下:

注釋清晰哦

<template>
? <div class="home">
? ? <button @click="start">開始</button>
? ? <div
? ? ? class="grid"
? ? ? v-for="(item, i) in arr"
? ? ? :key="i"
? ? ? :class="[bg == i + 1 ? 'active' : null]"
? ? ></div>
? </div>
</template>

<script>

export default {
? name: "Home",
? data() {
? ? return {
? ? ? // 標記轉動的位置
? ? ? bg: 1,
? ? ? // 循環(huán)的獎品數組
? ? ? arr: [1, 2, 3, 4, 5],
? ? ? // 是否正在轉動的標記
? ? ? isSport: false,
? ? ? // 轉動速度減慢
? ? ? reduce: 10,
? ? ? // 轉動間隔時間
? ? ? startTime: 30,
? ? ? area:''
? ? };
? },
? methods: {
? ? start() {
? ? ? if (this.isSport == false) {
? ? ? ? this.isSport = true;
? ? ? } else {
? ? ? ? // 正在轉動時點擊按鈕無效
? ? ? ? return;
? ? ? }
? ? ? // 模擬的設定轉動的位置
? ? ? this.area= parseInt(Math.random()*4+1);
? ? ? this.go();
? ? },
? ? go() {
? ? ? setTimeout(() => {
? ? ? ? // 讓轉動速度減慢
? ? ? ? this.startTime = this.startTime + this.reduce;
? ? ? ? this.bg = (this.bg % 5) + 1;//這個%時求余的意識哦
? ? ? ? // 如果達到這個條件則停止跳動
? ? ? ? if (this.startTime >= 300 && this.bg == this.area) {
? ? ? ? ? // 標記是否轉動狀態(tài)
? ? ? ? ? this.isSport = false;
? ? ? ? ? // 重置轉動間隔時間
? ? ? ? ? this.startTime = 30;
? ? ? ? ? return;
? ? ? ? }
? ? ? ? this.go();
? ? ? }, this.startTime);
? ? },
? },
};
</script>
<style scoped>
.grid {
? width: 50px;
? height: 50px;
? background: red;
? margin: 10px;
}
.active {
? background: blue;
}
</style>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • vue中el表單的簡單查詢方法

    vue中el表單的簡單查詢方法

    本文主要介紹了vue中el表單的簡單查詢方法,主要包括表單頁面根據groupid 、type 、errortype進行數據過濾,感興趣的可以了解一下
    2023-10-10
  • 詳解Vue中使用v-for語句拋出錯誤的解決方案

    詳解Vue中使用v-for語句拋出錯誤的解決方案

    本篇文章主要介紹了詳解Vue中使用v-for語句拋出錯誤的解決方案,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Vue之Axios的異步請求問題詳解

    Vue之Axios的異步請求問題詳解

    總的來說這并不是一道難題,那為什么要拿出這道題介紹?拿出這道題真正想要傳達的是解題的思路,以及不斷優(yōu)化探尋最優(yōu)解的過程。希望通過這道題能給你帶來一種解題優(yōu)化的思路,Axios是一個開源的可以用在瀏覽器端和Node JS的異步通信框架,主要作用就是實現AJAX異步通信
    2023-02-02
  • 詳解如何在vue中封裝axios請求并集中管理

    詳解如何在vue中封裝axios請求并集中管理

    這篇文章主要為大家詳細介紹了如何在vue中封裝axios請求并集中管理,w文中的示例代碼講解詳細,具有一定的參考價值,有需要的小伙伴可以了解下
    2023-10-10
  • Vue3實現動態(tài)導入Excel表格數據的方法詳解

    Vue3實現動態(tài)導入Excel表格數據的方法詳解

    在開發(fā)工作過程中,我們會遇到各種各樣的表格數據導入,動態(tài)數據導入可以減少人為操作,減少出錯。本文為大家介紹了Vue3實現動態(tài)導入Excel表格數據的方法,需要的可以參考一下
    2022-11-11
  • vue實現簡單的日歷效果

    vue實現簡單的日歷效果

    這篇文章主要為大家詳細介紹了vue實現簡單的日歷效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • vue子組件封裝彈框只能執(zhí)行一次的mounted問題及解決

    vue子組件封裝彈框只能執(zhí)行一次的mounted問題及解決

    這篇文章主要介紹了vue子組件封裝彈框只能執(zhí)行一次的mounted問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解在vue開發(fā)中如何利用.env文件

    詳解在vue開發(fā)中如何利用.env文件

    我們在 vue 項目的目錄中經??吹?nbsp;env 開頭的文件,在文件內聲明一些變量,這些變量就是一些配置變量,在不同環(huán)境下可使用的變量,本文我們將給大家介紹在vue開發(fā)中如何利用.env文件,需要的朋友可以參考下
    2023-10-10
  • vue實現帶小數點的星星評分

    vue實現帶小數點的星星評分

    這篇文章主要為大家詳細介紹了vue實現帶小數點的星星評分,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • vue?require.context()的用法實例詳解

    vue?require.context()的用法實例詳解

    require.context是webpack提供的一個api,通常用于批量注冊組件,下面這篇文章主要給大家介紹了關于vue?require.context()用法的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-04-04

最新評論