compatibility/game/website/js/index.js (128 lines of code) (raw):
new Vue({
el: '#app',
data: function () {
return {
visible: false,
dialogVisible:true,
info:{
name:'',
score:0,
rank:0
},
isMeet:false
}
},
computed:{
clientHeight:function(){
return document.documentElement.clientWidth
},
gateHeight:function(){
var self = document.getElementById("gate");
return self.getBoundingClientRect().top + document.documentElement.scrollTop
},
geteLeft:function(){
var self = document.getElementById("gate");
return self.getBoundingClientRect().left
}
},
methods: {
getRank:function(){
rank({name: this.info.name}).then(Response => {
this.info.rank = Response.data.rank
}).catch(e => {
this.$message({
message: "获取排名失败" + e,
type:"danger"
})
})
},
submitInfo:function(){
this.dialogVisible = false
login({name: this.info.name}).then(Response => {
this.info.name = Response.data.to
this.$message({
message:"欢迎" + Response.msg
})
this.getRank()
}).catch(e => {
this.$message({
message: "登陆失败" + e,
type:"danger"
})
})
},
moveBall:function(){
var elem = document.getElementsByClassName("ball")
var gate = document.getElementById("gate")
var id = setInterval(frame, 20)
var tempHeight = 0
var that = this
function frame() {
var space = elem[0].getBoundingClientRect().left - gate.getBoundingClientRect().left
var hight = elem[0].getBoundingClientRect().top - gate.getBoundingClientRect().top
if (!that.isMeet && (space <60 && space > -20 && hight < 20 && hight > -20)) {
that.isMeet = true
score(JSON.stringify({name:that.info.name, score:1})).then(Response => {
that.info.score = Response.data.score
that.$message({
message:"进球成功, 总分数为:" + Response.data.score,
type:"success"
})
that.getRank()
}).catch( e => {
that.$message({
message: "分数统计失败" + e,
type:"danger"
})
})
}
if (tempHeight >= that.clientHeight) {
elem[0].style.bottom = 0 + ''
clearInterval(id)
} else{
tempHeight += 20
elem[0].style.bottom = tempHeight + ''
}
}
},
move: function () {
var elem = document.getElementById("myBar")
var width = 0
var id = setInterval(frame, 20)
function frame() {
if (width >= 100) {
clearInterval(id)
elem.remove()
} else {
width++
elem.style.width = width + '%'
elem.innerHTML = width * 1 + '%'
}
}
},
moveGate:function(){
var elem = document.getElementById("gate")
var id = setInterval(frame, 20)
var model = false
var tempValue = 0
var increase = 1
function frame() {
if (tempValue > 100 || tempValue < -100) {
increase = -increase
}
tempValue += increase
elem.style.marginLeft = tempValue + 'px'
}
},
clickPeople(){
this.isMeet = false
this.moveBall()
}
},
mounted(){
this.move()
this.moveGate()
},
created() {
}
})