变量未更改
Variable not being changed
本文关键字:变量 更新时间:2023-09-26
使用以下代码,每当文档悬停在屏幕上时,我都会尝试在屏幕上移动一个小点。
问题是,初始化但未定义的"x.style.left"属性在第一次更新时(我用console.log检查了它),但之后它不再更新,即使我在代码中进一步更改了它,它仍保持该值。
这是代码:
var x = document.getElementById("bot");
document.onmouseover = function(){move()};
function myfunc(){
}
function move(){
x.style.position="relative";
x.style.left;
console.log(x.style.left);
x.style.left=String(10 + 10) + "px";
console.log(x.style.left);
}
小提琴:https://jsfiddle.net/puxg59td/
每次都需要获取值并添加到其中。
function move(){
x.style.position="relative";
var value = parseInt(x.style.left);
if (!value) {
value = 0;
}
console.log(x.style.left);
x.style.left=String(value + 10 + 10) + "px";
console.log(x.style.left);
}
Fiddle:https://jsfiddle.net/puxg59td/1/
已更新(以下是jsfiddle更新:https://jsfiddle.net/puxg59td/10/):
var x = document.getElementById("bot");
document.onmouseover = function(){move()};
function move(){
x.style.position="relative";
var curLeft = parseInt(x.style.left) || 0;
x.style.left= (curLeft + 10) + "px";
}
#body{
border:2px solid black;
height:100px;
}
#bot{
height:1px;
width:1px;
background-color:black;
border:2px solid black;
}
<div id="body">
<div id="bot"></div>
</div>
你必须增加职位。你的问题是,你总是给x相同的20px左样式;试试这个:
function move(x){
x.style.position="relative";
var l = x.getBoundingClientRect().left;
console.log(l);
x.style.left =l + 20 + "px";
console.log(x.style.left);
}
相关文章:
- 将函数的上下文应用于javascript变量
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- 将PHP变量传递给jQuery时遇到问题
- 如何通过ajax刷新JSF填充的javascript变量
- 参数变量出现ngTable指令问题
- 通过javascript重定向html传递php变量
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 全局变量和全局对象的属性之间有什么区别吗
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 值对象在某个变量发生更改后发生更改
- Javascript变量赋值|
- AngularJS-在JSON选择器中使用变量名
- Javascript计数器变量未显示正确的值
- delete关键字在全局变量上的不同行为
- 如何在php变量中嵌入JQuery代码
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 在javascript函数中设置全局变量
- 将变量传递给外部Javascript
- 如何将getJson的响应保存在全局变量中