JavaScript SetInterval () 在单击后不起作用
JavaScript SetInterval () is not working after clicking
嗨,我
写了这段代码,它假设在单击对象后每 3000 毫秒移动一次对象,但有些时间不工作,谁能告诉我我做错了什么,我只是在学习 javascript;非常感谢
function move1() {
var im1 = document.images[0];
im1.onclick = function() {
im1.style.left = parseInt(im1.style.left) + 1 + "px";
}
}
function move2() {
var im2 = document.images[1];
im2.onclick = function() {
im2.style.left = parseInt(im2.style.left) + 10 + "px";
}
}
window.onload = function() {
setInterval(move1, 100);
setInterval(move2, 3000);
}
你这样做的方式正好相反。每 3000 毫秒,您可以在单击图像时将图像移动 1px。
function move(el, ms, px) {
/* moves the el every ms by px
returns the interval id to clear the movement */
return setInterval(function() {
el.style.left = parseInt(el.style.left) + px + "px";
}, ms);
}
window.onload = function() {
var im0 = document.images[0];
var im1 = document.images[1];
im0.onclick = function() {
move(im0, 100, 1);
};
im1.onclick = function() {
move(im1, 3000, 10);
};
}
移动函数在单击时注册图像,但在用户单击之前实际上不会执行任何移动。你想要的更像是这样的:
function move1() {
var im1 = document.images[0];
im1.style.left = parseInt(im1.style.left) + 1 + "px";
}
function move2() {
var im2 = document.images[1];
im2.style.left = parseInt(im2.style.left) + 10 + "px";
}
window.onload = function() {
var im2 = document.images[1];
im2.onclick = function() {
setInterval(move2, 3000);
}
im1.onclick = function() {
setInterval(move1, 100);
}
}
相关文章:
- 使用jquery插入动态HTML后,单击不起作用
- 剑道模板在元素中单击不起作用
- ng在ui gmap窗口内单击不起作用
- 在Chrome扩展选项页面中单击不起作用的事件
- PrependTo,然后在单击不起作用时将其删除
- JavaScript 单击不起作用
- 从对象的按钮单击不起作用
- 全日历日单击不起作用(不执行任何操作)
- 检测右键单击+左键单击不起作用
- 离子无线电取消选中 ng-单击不起作用
- C# 调用成员单击“不起作用”
- JQuery 在 标签内单击不起作用
- 事件侦听器单击不起作用
- 翡翠按钮单击不起作用
- 角度路线在单击时不起作用,但再次单击不起作用
- 在 ajax 调用中加载日期选择器,然后单击不起作用
- AngularJS:ng-单击不起作用,适用于<按钮>
- JQuery .hover slidedown slideUp 工作,但 ,单击不起作用
- 多种功能在Chrome中单击不起作用
- 量角器 ID 单击不起作用