javascript - 如何通过 javascript 中的通用 html 类移动 css 元素?

标签 javascript html css

这里有点菜鸟!我在 HTML 和 CSS 的帮助下使用纯 javascript,没有引擎。我正在尝试移动由 3 个部分组成的显示坦克 Sprite :履带、底盘和炮塔。

<!DOCTYPE html>

<html lang='en'>
    <head>
        <meta charset="UTF-8">
        <link rel='stylesheet' href='.css'>
        <div class='tank' id='tracks'></div>
        <div class='tank' id='chasis'></div>
        <div class='tank' id='turret'></div>
    </head>
    <body>
        <script src='.js'></script>
    </body>
</html>

在这里,我创建了三个 div 元素,它们分别为轨道、底盘和炮塔设置了唯一 ID。他们都共享公共(public)类 tank。

.tank {
    height: 31px;
    width: 31px;
    position: absolute;
}

#tracks {
    background: url("tracks.png");
}

#chasis {
    background: url("chasis.png");
}

#turret {
    background: url("turret.png");
}

在我的 CSS 代码中,我将这 3 个组件共享的所有属性归于它们的类,因此它们共享相同的大小和位置。由于这三个元素中的每一个都有一个无法共享的唯一图像,因此我将其通过id归因于每个元素。

var tracks = document.getElementById('tracks');
var chasis = document.getElementById('chasis');
var turret = document.getElementById('turret');

tracks.style.top = '167px';
chasis.style.top = '167px';
turret.style.top = '167px';

这段代码成功地将每个组件向下移动了 167 像素,但我想避免在每次要按其组件移动坦克时重写所有代码。

var tank = document.getElementsByClassName('tank');

tank.style.top = '167px';

因此,我尝试按类别移动整个坦克,但没有成功。我做错了什么?

谢谢!

最佳答案

<div class="tank">
        <div id='tracks'></div>
        <div id='chasis'></div>
        <div id='turret'></div>
</div>

你能试试这个吗?所以你现在有了 TANK,里面有所有的零件。

关于javascript - 如何通过 javascript 中的通用 html 类移动 css 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51336052/

相关文章:

javascript - 在 html 或 javascript 中进行更改后无需重新启动服务器。为什么?

javascript - 在具有逻辑的方法中显示图像

jquery - 不希望 div 的背景图像出现在表格中

javascript - 如何删除此错误 "Response must contain an array at "。 "."制作下拉菜单时

javascript - 显示 RSS 源中的图像

javascript - Jquery 用 .on() 悬停

javascript - PhoneGap HTML5 播放器

javascript - 使用纯 JavaScript 更改链接并使用复合 CSS 选择来选择元素

jquery - 当 cycle lite 开始运行时定位困惑

html - 如何修复桌面和移动设备上不一致的占位符文本垂直对齐方式?