vueコンポーネントトラ抽選
2153 ワード
最近活动したことがあってトラの机の効果をして、ネット上で探したのはほとんど以前のjqが书いたので、1つ探してコードを见て、书いたのが面倒だと感じて、それから自分で1つの简単なことを书きました.主にcss 3で回転加速減速の効果を実現する.設定要素の高さを取得する必要があるなどの問題でjqを容易に導入するためにjqに依存しなければjqの場所を原生jsに変更することができる.
- {{item}}
{{disClick?' ...':' '}}
import $ from 'jquery'
export default {
data(){
return {
round:6,//
prizes:[1,2,3,4,5,6,7,8,9,11,12,13,14,15],
disClick:false,//
itemHeight:0,//
prize_id:'',// id
}
},
mounted(){
this.itemHeight = $('.prize-item').outerHeight()
$('.groups').css('height',this.itemHeight * this.prizes.length*(this.round+1))
},
methods:{
startClick(){//
if(this.disClick){
return
}
// id
let index = parseInt(Math.random()*this.prizes.length);
this.prizd_id = this.prizes[index];
this.runGame(index)
},
runGame(index){//
this.disClick = true;
this.resetGame();
var itemHeight = this.itemHeight;
var groupsHeight = this.round*$('.group-item').height();
$('.groups').each(function(e){
var pos = index*itemHeight + groupsHeight
setTimeout(()=>{
$(this).addClass('animation-ease').css('transform','translate3d(0, -'+pos+'px, 0)')
},e*300)
})
},
endGame(k){//
if(k==3){
alert(' '+this.prizd_id)
this.disClick = false;
}
},
resetGame(){//
$('.groups').removeClass('animation-ease').css('transform','');
}
}
}