【发布时间】:2020-06-29 16:21:15
【问题描述】:
我正在开发某个应用程序,我需要为每个元素创建一种倒计时。不幸的是,当我将元素传递给我的函数时,它不起作用。尽管如此,如果我稍微改变一下函数并从 setInterval 中替换元素的 innerHTML ,它就会开始工作。我现在完全没有任何想法。感谢帮助:) const timeout 是元素。
const json_content = json_reader(reserved)
for(x=0;x<json_content["key"].length;x++){
var tds = document.querySelectorAll(".display_content table td")
for(let td of tds){
new Vue({
delimiters: ['[[', ']]'],
el:td,
data: {
display: "test",
seats_number: "0",
},
methods:{
test(){
console.log("elo")
}
},
created: ()=>{
const td_date = td.innerText
if(td_date.includes(json_content["key"][x])){
const td_hour = td.nextElementSibling
const json_hour = json_content["value"][x]["times"]
if(Object.keys(json_hour).includes(td_hour.innerText)){
const seats = json_content["value"][x]["times"][td_hour.innerText]
const td_seat = td_hour.nextElementSibling
const timeout = td_seat.nextElementSibling
const seats_array = []
seats.forEach(element => {
const seat_json = json_reader(element)
seats_array.push(seat_json["key"]+":"+seat_json["value"])
});
this.seats_number = seats.length
td_seat.innerHTML = "<span onclick='display_seats(this.nextSibling)'>"+[[this.seats_number]]+"</span>"+"<span class='seats' value='"+seats_array+"'></span>"
counter(timeout)
}
}
}
})
}
}
和计数器功能:
function counter(element){
var t = 10
setInterval(()=>{
element.innerHTML = String(t)
t -= 1
},1000)
【问题讨论】:
标签: javascript django vue.js