javascript - 每次点击时移动图像 Javascript

标签 javascript

我想在每次点击时移动图像,但使用此代码仅适用于一次点击。

function moveright() {
  console.log("moveright invoked.");
  var myImg = document.getElementById("image");
  myImg.style.position = "absolute";
  var cLeft = myImg.style.left;
  if (cLeft == 500) {
    console("Maximum reached.");
  } else {
    myImg.style.left = (cLeft + 50) + "px";
  }
}
<img id="image" src="/image/TiYE3.jpg?s=32&g=1" onclick="moveright()" />

最佳答案

  1. 给出初始左侧位置值。您可以添加如下内联样式:style="left: 0px"

  2. 将左侧值解析为整数,然后添加 50 px:var cLeft = parseInt(myImg.style.left);

function moveright() {
  var myImg = document.getElementById("image");
  myImg.style.position = "absolute";
  var cLeft = parseInt(myImg.style.left);
  
  if (cLeft == 500) {
    console("Maximum reached.");
  } else {
    myImg.style.left = (cLeft + 50) + "px";
  }  
}
<img id="image" src="/image/TiYE3.jpg?s=32&g=1" onclick="moveright()"  style="left: 0px" />

或者,您可以跳过 left 样式声明并使用 window.getCompulatedStyle 获取计算的样式值。

function moveright() {
  var myImg = document.getElementById("image");
  myImg.style.position = "absolute";
  
  var cLeft = parseInt(window.getComputedStyle(myImg).left);
  
  if (cLeft == 500) {
    console("Maximum reached.");
  } else {
    myImg.style.left = (cLeft + 50) + "px";
  }  
}
<img id="image" src="/image/TiYE3.jpg?s=32&g=1" onclick="moveright()" />

关于javascript - 每次点击时移动图像 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47865501/

相关文章:

javascript - 将标题标签应用于 iFrame 中的框架

javascript - Cheerio.js 没有抓取非内联样式?

javascript - 如何在 React 中为 styleguidist 渲染 .md 文件中的两个组件?

javascript - 使用 Javascript 创建/存储 cookie

javascript - 动态更新 JavaScript 和 PHP 中的选择元素选项

javascript - Meteor.js 的高 CPU 使用率

javascript - Google Apps 脚本 OAuth - returnURL 以更新附加组件

Math.pow 的 JavaScript 实现

javascript - 为 jQuery 传递一个 Twig 数组

javascript - 如何使 HTML 页面保持事件状态