javascript - 单击按钮更改图像位置
问题描述
我不太了解编码,但我希望能够做到,所以当我单击“测试”按钮之一时,图像会移动。我希望它是一个变量,以便它不断检查变量(我不知道如何使用变量),并且在任何给定时刻,当变量 = 数字时,它位于我指定的特定位置。当我单击测试 1 时,该变量会增加 1,当我单击测试 2 时,它会减少 1。在从 0 到 10 的任何给定变量中,每个数字都应该有一个特定的位置。并且一旦变量达到 11,变量将立即重置为 0,就像在循环中一样。它可以包括 HTML、CSS 和 Javascript,如果这令人困惑,对不起,我真的是编码的菜鸟 :(
这是我到目前为止的所有代码,它确实没有帮助,但我想我还是应该添加它。
<img id="img01" src="https://cdn.shopify.com/s/files/1/0080/8372/products/tattly_triangle_yoko_sakao_ohama_00_1200x1200.png?v=1575322215" height="300">
<button id="test1" type="button">test 1</button>
<button id="test2" type="button">test 2</button>
感谢您的任何帮助 :)
解决方案
看看下面的代码。我希望这个例子能帮助你理解块移动原理。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>moved image</title>
</head>
<body>
<div class="wrapper">
<div>
<img class="image" src="" width="50" style="left: 200px;">
</div>
</div>
<button class="button" type="button" id="left-button" onclick="moveLeft()">Left</button>
<button class="button" type="button" id="right-button" onclick="moveRight()">Right</button>
<style>
.wrapper {
position: relative;
width: 500px;
min-height: 200px;
background-color: yellow;
}
.image {
position: absolute;
top: 40px;
width: 100px;
height: 70px;
background-color: blue;
}
</style>
<script>
'use strict'
const getNumber = function(str) {
return parseInt(str, 10);
}
const transformToString = function(num) {
return num + 'px';
}
const SHIFT = 10;
const MARGIN = 10;
const element = document.querySelector('.image');
const LEFT_MARGIN = getNumber(element.style.left) - SHIFT * MARGIN;
const RIGHT_MARGIN = getNumber(element.style.left) + SHIFT * MARGIN;
const moveLeft = function() {
if (getNumber(element.style.left) > LEFT_MARGIN) {
element.style.left = transformToString(getNumber(element.style.left) - SHIFT);
}
}
const moveRight = function() {
if (getNumber(element.style.left) < RIGHT_MARGIN) {
element.style.left = transformToString(getNumber(element.style.left) + SHIFT);
}
}
</script>
</body>
</html>
推荐阅读
- python - 用空格替换字符串中的 '\xa0'
- arrays - Excel VBA 使用数组加速代码
- matlab - 评估符号 matlab 函数
- java - 在 MongoDB 的嵌入式文档中将元素插入到数组中
- python - 带有字符串列表的 Python DataFrame 列不会展平
- sql - 从乘法建立一个总和
- ios - 如何正确地使 UICollectionView 中补充视图的布局无效
- docker - 在 Vagrant 中的 docker-compose 中设置卷
- nixos - 是否可以(或建议)使用 NixOps 将 NixOS 安装到 USB 闪存驱动器?
- xml - 将 importXML 与 php 填充的网站一起使用并抓取到 googlesheets