javascript - Javascript图像转换器(一个图片文件中的2张图片)一键式
问题描述
https://i.stack.imgur.com/LhvYb.png - 这是我想使用的图像,到目前为止,我在点击按钮时改变了位置,但我想在我再次点击按钮回到第一个位置。
<!DOCTYPE html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Title</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div></div>
<button>Press me</button>
<script src="index.js"></script>
</body>
</html>
这是CSS
div {
width: 125px;
height: 122px;
background-image: url(picture2.png);
background-repeat: no-repeat;
}
这是js
var image = document.getElementsByTagName('div')[0];
var button = document.getElementsByTagName('button')[0];
button.addEventListener('click',switchPic,false);
function switchPic (e){
image.style.backgroundPosition="-150px 0";
}
解决方案
只需使用 classList.toggle
const myDiv = document.getElementById('my-div')
, myButton = document.getElementById('my-button')
;
myButton.onclick=()=>
{
myDiv.classList.toggle('right150')
}
div#my-div {
width: 125px;
height: 122px;
background-image: url(https://i.stack.imgur.com/LhvYb.png);
background-repeat: no-repeat;
}
div#my-div.right150 {
background-position-x: -150px;
}
<div id="my-div"></div>
<button id="my-button">Press me</button>
或者,使用 addEventListener...
const myDiv = document.getElementById('my-div')
, myButton = document.getElementById('my-button')
;
myButton.addEventListener('click',switchPic)
function switchPic (e)
{
myDiv.classList.toggle('right150')
}
推荐阅读
- ajax - 如何以另一种形式使用 Ajax 响应数据?
- java - 如何找到内存争用的根源?
- c# - 设置 BlockingCollection 中项目的最大处理量
- swift - 在 AppDelegate.persistentContainer.getter 中:当我在 CoreData 中将属性类型从 String 更改为 Date 时发生错误。(SwiftUI)
- python - 我尝试在无限循环中使用 Python 多处理包,但它似乎不起作用
- php - 字符串中的字符串(SQL 和 PHP)
- python - 如何在调用函数时使用 discord.py 添加反应?
- google-sheets - 根据标题名称指定要通过 IMPORTHTML/IMPORTXML 导入的表
- ios - Swift 使用 Apple 的 Object 制作符合 Codable 协议的对象
- html - 如何从 Firebase 虚拟主机读取 Firebase 数据库?