javascript - 如何使用 JavaScript 获取 CSS 样式并更改值

标签 javascript html css

我想把窗口右端的图片移到左边。 当我自己写left和top值的时候,是可以的,但是我想读取这些值,而不是自己输入。

javascript代码

window.addEventListener('keydown', f, false);
window.addEventListener('keyup', f, false);
var img = document.getElementById("img_main");

var left = 1020;
var topw = 50;
console.log(left);
console.log(topw);

function f(e) {
  switch (e.keyCode) {
    case 38:
      topw -= 10;
      img.style.top = topw + 'px';
      break;
    case 40:
      topw += 10;
      img.style.top = topw + 'px';
      break;
    case 39:
      left += 10;
      img.style.left = left + 'px';
      break;
    case 37:
      left -= 10;
      img.style.left = left + 'px';
      break;

  }
}

CSS 代码

#img_main {
  width: 300px;
  height: 300px;
  position: absolute;
  left: 1020px;
  top: 50px;
}

最佳答案

使用 parseInt 获取顶部和左侧的整数值,不带 'px':

   var style = window.getComputedStyle(img); 
   var left=parseInt(style.getPropertyValue('left')); 
   var topw=parseInt(style.getPropertyValue('top'));

关于javascript - 如何使用 JavaScript 获取 CSS 样式并更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58352289/

相关文章:

javascript - 如何转义 JavaScript 变量中的单引号

javascript - 如何禁用网页中的视频/音频下载?

javascript - HTML5 Input datetime-local 跨浏览器获取日期对象

javascript - 为AngularJS中的两个按钮分配相同的ID

css - 当 wrapper 的 overflow-x 为 auto 时,FF 左表边框消失

css - 如何在 Bootstrap 中连续拉伸(stretch)图像

jquery - 高级 CSS/Jquery 选择器

Javascript 正则表达式对象无法识别 {n,m}

javascript - 更改 HTML 标签中的 href 不起作用

html - 如何使 Css 过渡效果在 Safari 和 Chrome 上工作?