목차
에서 구성 가능한 원형 복권 턴테이블 구성 요소 1. 전체 복권 프로세스 분석:
二、圆形抽奖转盘组件需要做的事情
三、页面预览
四、基础用法
五、roundTurntable组件的属性说明
웹 프론트엔드 View.js vuejs로 턴테이블을 만들 수 있나요?

vuejs로 턴테이블을 만들 수 있나요?

Sep 21, 2021 pm 03:42 PM
vuejs

vuejs는 턴테이블을 만들 수 있으며 구현 방법은 다음과 같습니다. 1. 추첨 버튼을 만듭니다. 2. 턴테이블이 멈춰야 하는 위치를 가져옵니다. 3. 배경과 상호 작용합니다. 4. 이후 2단계에서 설정한 장소에서 멈춥니다. 5. 프롬프트를 설정하면 상품이 잠금 해제됩니다.

vuejs로 턴테이블을 만들 수 있나요?

이 문서의 운영 환경: Windows 7 시스템, Vue 버전 2.9.6, Dell G3 컴퓨터.

vuejs로 턴테이블을 만들 수 있나요?

Vue

에서 구성 가능한 원형 복권 턴테이블 구성 요소 1. 전체 복권 프로세스 분석:

  1. 턴테이블 중앙에 있는 포인터(예: 복권 시작 버튼)를 클릭하여 회전할 수 있는지 확인합니다(특정 논리). In canBeRotated()에 캡슐화되어 있습니다. - ① 현재 그리기 횟수가 0보다 큰지 여부 ② 현재 회전 중인지(잠김)인지 여부를 전달하면 다음 단계로 진행하고, 그렇지 않으면 해당 프롬프트가 표시됩니다. 팝업됩니다.
  2. canBeRotated()里--①当前拥有的抽奖次数是否大于0②现在是否正在转动着(被锁着)),判断通过则进行下一步, 否则弹出相应提示。
  3. 获取转盘应该停止的位置,应该与后台交互,但这里仅作演示用途, 本地随机抽取0~5。
  4. 与后台交互成功获取到该停止的位置后,锁定转盘且减少抽奖次数。
  5. 告诉转盘组件,开始转动了,并且动画结束后停在步骤2设置的地方。
  6. 转盘转动,停在步骤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组件的属性说明

배경과 성공적으로 상호작용하여 정지 위치를 얻은 후 턴테이블을 잠그고 추첨 횟수를 줄이세요. 턴테이블 구성요소에 회전을 시작하고 애니메이션이 끝난 후 2단계에서 설정한 위치에서 멈추도록 지시합니다. 턴테이블이 회전하고 3단계에서 설정한 위치에서 정지한 후 승리 및 잠금 해제 메시지가 표시됩니다. 각 바퀴의 배경색과 외부 테두리 색상을 맞춤 설정할 수 있습니다. (turntableStyleOption속성)턴테이블이 실행될 때 필요한 회전 수를 사용자 정의하세요. (rotateCircle 속성)상위 컴포넌트에서 전달한 경품 정보(prizeData)를 받아 각 바퀴 위치에 표시합니다. (원 getRotateAngle() 메소드의 중심에 따라 회전할 각도를 계산합니다.)상위 컴포넌트에 의해 호출된 후 회전을 시작하고 지정된 위치에서 정지하는 메소드(rotate), 애니메이션이 끝난 후 상위 구성 요소에 중지되었음을 알립니다. 상품 이름과 사진은 맞춤 설정할 수 있습니다.
参数 说明 类型 默认值
ref 获取这组件的dom节点,调用子组件的开始转动动画方法要用到this.$refs[refName].rotate(index) string
prizeData 显示在转盘上的奖品数据 array
rotateCircle 转盘要转过的圈数 number 6
duringTime 转动需要持续的时间(单位为秒s number 4.5
turntableStyleOption 转盘的样式选项(背景色、外边框颜色) object { prizeBgColors: ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F'], borderColor: '#199301' }턴테이블이 멈춰야 할 위치를 구하고 배경과 상호작용하지만 이는 시연용일 뿐이며 로컬에서 0~5가 무작위로 선택됩니다.
2. 원형 복권 바퀴 구성 요소에 대해 수행해야 할 작업 턴테이블의 크기와 위치입니다. (호출 시 코드에서 턴테이블인 구성 요소에 클래스를 추가하세요.)실행 중인 애니메이션의 지속 시간을 맞춤 설정할 수 있습니다. (duringTime 속성)
3. 페이지 미리보기

vuejs로 턴테이블을 만들 수 있나요?

4. 기본 사용법설명 li> li>rrreee
5. roundTurntable 구성 요소의 속성 설명Parameter
인용문rrreee
    Callrrreeerrreeerrreee
    Description Type 기본값

    ref

    이 컴포넌트의 dom 노드를 가져오고, this.$refs[refName].rotate(index)를 사용하기 위해 하위 컴포넌트의 회전 애니메이션 시작 메소드를 호출합니다.

    string

    —🎜🎜🎜🎜prizeData🎜🎜바퀴에 표시되는 상금 데이터🎜🎜array🎜🎜—🎜🎜🎜🎜rotateCircle🎜🎜바퀴가 회전해야 하는 회전 수🎜🎜number 🎜🎜6 🎜 🎜🎜🎜duringTime🎜🎜회전 기간(초 s) 🎜🎜number🎜🎜4.5🎜🎜🎜🎜turntableStyleOption🎜🎜스타일 옵션 턴테이블(배경색, 외부 테두리 색상)🎜🎜object🎜🎜{ PrizeBgColors: ['#AE3EFF', '#4D3FFF', '#FC262C', '#3A8BFF', '#EE7602', '#FE339F '], borderColor ) 이름🎜🎜Description🎜🎜콜백 매개변수🎜🎜🎜🎜🎜🎜endRotation🎜🎜턴테이블이 중지된 후 트리거되는 이벤트 콜백🎜🎜—🎜🎜🎜🎜🎜 7. 전체 프로젝트 코드🎜🎜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 기반 앱

    AI Clothes Remover

    AI Clothes Remover

    사진에서 옷을 제거하는 온라인 AI 도구입니다.

    Undress AI Tool

    Undress AI Tool

    무료로 이미지를 벗다

    Clothoff.io

    Clothoff.io

    AI 옷 제거제

    AI Hentai Generator

    AI Hentai Generator

    AI Hentai를 무료로 생성하십시오.

    인기 기사

    R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 최고의 그래픽 설정
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
    3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
    WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
    4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

    뜨거운 도구

    메모장++7.3.1

    메모장++7.3.1

    사용하기 쉬운 무료 코드 편집기

    SublimeText3 중국어 버전

    SublimeText3 중국어 버전

    중국어 버전, 사용하기 매우 쉽습니다.

    스튜디오 13.0.1 보내기

    스튜디오 13.0.1 보내기

    강력한 PHP 통합 개발 환경

    드림위버 CS6

    드림위버 CS6

    시각적 웹 개발 도구

    SublimeText3 Mac 버전

    SublimeText3 Mac 버전

    신 수준의 코드 편집 소프트웨어(SublimeText3)

    Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 Jul 31, 2023 pm 02:17 PM

    Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하기 위한 몇 가지 팁 모바일 애플리케이션의 인기와 사용자 요구의 지속적인 증가로 인해 Android 애플리케이션 개발은 개발자들로부터 점점 더 많은 관심을 끌고 있습니다. Android 앱을 개발할 때 올바른 기술 스택을 선택하는 것이 중요합니다. 최근 몇 년 동안 Vue.js와 Kotlin 언어는 점차 Android 애플리케이션 개발에 널리 사용되는 언어가 되었습니다. 이 기사에서는 Vue.js 및 Kotlin 언어를 사용하여 Android 애플리케이션을 개발하는 몇 가지 기술을 소개하고 해당 코드 예제를 제공합니다. 1. 초기에 개발 환경을 설정한다

    Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 Jul 31, 2023 pm 07:53 PM

    Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁 소개: 빅 데이터 시대의 도래와 함께 데이터 시각화는 중요한 솔루션이 되었습니다. 데이터 시각화 애플리케이션 개발에서 Vue.js와 Python의 조합은 유연성과 강력한 기능을 제공할 수 있습니다. 이 기사에서는 Vue.js 및 Python을 사용하여 데이터 시각화 애플리케이션을 개발하기 위한 몇 가지 팁을 공유하고 해당 코드 예제를 첨부합니다. 1. Vue.js 소개 Vue.js는 경량 JavaScript입니다.

    Vue.js와 Objective-C 통합, 안정적인 Mac 앱 개발을 위한 팁 및 조언 Vue.js와 Objective-C 통합, 안정적인 Mac 앱 개발을 위한 팁 및 조언 Jul 30, 2023 pm 03:01 PM

    Vue.js와 Objective-C 언어의 통합, 안정적인 Mac 애플리케이션 개발을 위한 팁 및 제안 최근 몇 년 동안 프런트 엔드 개발에서 Vue.js의 인기와 Mac 애플리케이션 개발에서 Objective-C의 안정성으로 인해 개발자는 시작합니다. 보다 안정적이고 효율적인 Mac 응용 프로그램을 개발하기 위해 두 가지를 결합하려고 합니다. 이 기사에서는 개발자가 Vue.js와 Objective-C를 올바르게 통합하고 고품질 Mac 애플리케이션을 개발하는 데 도움이 되는 몇 가지 팁과 제안을 소개합니다. 하나

    Vue.js 및 Lua 언어 통합, 게임 개발을 위한 프런트엔드 엔진 구축 시 모범 사례 및 경험 공유 Vue.js 및 Lua 언어 통합, 게임 개발을 위한 프런트엔드 엔진 구축 시 모범 사례 및 경험 공유 Aug 01, 2023 pm 08:14 PM

    Vue.js와 Lua 언어의 통합, 게임 개발을 위한 프런트엔드 엔진 구축을 위한 모범 사례 및 경험 공유 소개: 게임 개발이 지속적으로 발전함에 따라 게임 프런트엔드 엔진의 선택이 중요한 결정이 되었습니다. 이러한 선택 중에서 Vue.js 프레임워크와 Lua 언어는 많은 개발자의 초점이 되었습니다. 널리 사용되는 프런트엔드 프레임워크인 Vue.js는 풍부한 생태계와 편리한 개발 방법을 갖추고 있으며, Lua 언어는 가볍고 효율적인 성능으로 인해 게임 개발에 널리 사용됩니다. 이 기사에서는 다음 방법을 살펴보겠습니다.

    PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 Aug 27, 2023 am 11:51 AM

    PHP 및 Vue.js를 사용하여 차트에서 데이터 필터링 및 정렬 기능을 구현하는 방법 웹 개발에서 차트는 데이터를 표시하는 매우 일반적인 방법입니다. 차트의 데이터 필터링 및 정렬 기능은 PHP 및 Vue.js를 사용하여 쉽게 구현할 수 있으므로 사용자는 차트의 데이터 보기를 사용자 정의하고 데이터 시각화 및 사용자 경험을 향상시킬 수 있습니다. 먼저 차트에서 사용할 데이터 세트를 준비해야 합니다. 이름, 나이, 학년이라는 세 개의 열을 포함하는 데이터 테이블이 있다고 가정합니다. 데이터는 이름, 나이, 학년 Zhang San 1890 Li입니다.

    멋진 모바일 애플리케이션 UI 인터페이스를 구축하기 위한 Vue.js 및 Dart 언어, 실무 및 개발 기술 통합 멋진 모바일 애플리케이션 UI 인터페이스를 구축하기 위한 Vue.js 및 Dart 언어, 실무 및 개발 기술 통합 Aug 02, 2023 pm 03:33 PM

    Vue.js와 Dart 언어의 통합, 멋진 모바일 애플리케이션 UI 인터페이스 구축을 위한 실습 및 개발 기술 소개: 모바일 애플리케이션 개발에서 사용자 인터페이스(UI)의 디자인과 구현은 매우 중요한 부분입니다. 멋진 모바일 애플리케이션 인터페이스를 달성하기 위해 Vue.js를 Dart 언어와 통합하고 Vue.js의 강력한 데이터 바인딩 및 구성 요소화 기능과 Dart 언어의 풍부한 모바일 애플리케이션 개발 라이브러리를 사용하여 멋진 모바일 애플리케이션을 구축할 수 있습니다. UI 인터페이스. 이 기사에서는 다음 방법을 보여줍니다.

    Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구 개발 Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구 개발 Jul 31, 2023 pm 06:43 PM

    Vue.js 및 Perl 언어를 사용하여 효율적인 웹 크롤러 및 데이터 스크래핑 도구를 개발하십시오. 최근 인터넷의 급속한 발전과 데이터의 중요성이 증가함에 따라 웹 크롤러 및 데이터 스크래핑 도구에 대한 수요도 증가했습니다. 이러한 맥락에서 Vue.js와 Perl 언어를 결합하여 효율적인 웹 크롤러와 데이터 스크래핑 도구를 개발하는 것은 좋은 선택입니다. 이 기사에서는 Vue.js 및 Perl 언어를 사용하여 이러한 도구를 개발하는 방법을 소개하고 해당 코드 예제를 첨부합니다. 1. Vue.js 및 Perl 언어 소개

    Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법 Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법 Sep 20, 2023 pm 02:27 PM

    Vue를 사용하여 QQ와 같은 채팅 버블 효과를 구현하는 방법 오늘날 소셜 시대에 채팅 기능은 모바일 애플리케이션과 웹 애플리케이션의 핵심 기능 중 하나가 되었습니다. 채팅 인터페이스의 가장 일반적인 요소 중 하나는 채팅 풍선입니다. 이는 발신자와 수신자의 메시지를 명확하게 구분하여 메시지의 가독성을 효과적으로 향상시킬 수 있습니다. 이 글에서는 Vue를 사용하여 QQ와 유사한 채팅 풍선 효과를 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 먼저 채팅 풍선을 나타내는 Vue 구성 요소를 만들어야 합니다. 구성 요소는 두 가지 주요 부분으로 구성됩니다.

    See all articles