此代码在循环中更改div的左侧位置。我停留在使它移动一段时间,然后尝试了一行代码。 为什么我必须编写第2行的代码
divPos = numLeft + 'px'
再次在函数内部的setInterval内部使div移动。
let numLeft = 60
let divPos = numLeft + 'px'
let i=0
let reset
let divVar = document.createElement("div")
divVar.innerHTML = 'car'
divVar.style.position = "relative"
divVar.style.top = '60px'
divVar.style.left = divPos
divVar.style.border = "2px solid blue"
divVar.style.display = "inline-block"
document.body.appendChild(divVar)
changePos()
function changePos(){
reset = setInterval(()=>{
i++
if(i>12){
clearInterval(reset);
}
numLeft+=40
divPos = numLeft + 'px'
divVar.style.left = divPos
},300)
}
答案 0 :(得分:1)
JavaScript原语是不可变的,不能通过引用分配。
cv::Mat
为cv::imwrite()
分配一个字符串。该字符串是使用let divPos = numLeft + 'px'
创建的,但随后没有任何关联,因此,如果您以后更改divPos
,则它对numLeft
的值没有影响。