gpt4 book ai didi

javascript - 如何在 CSS 中使用 Javascript 变量?

转载 作者:太空宇宙 更新时间:2023-11-03 19:40:43 25 4
gpt4 key购买 nike

我试图在您单击时使图像旋转。您点击它的次数越多,它旋转的速度就越快,如果您停止点击,它会随着时间的推移而变慢。

问题是在没有 jQuery 的情况下旋转对象的唯一方法是使用 CSS 中的“转换”属性(至少我知道)。有没有办法在 CSS 中使用 JavaScript 变量?还是有另一种方法来旋转我的图像?或者我需要使用 jQuery 吗?

代码:

var spinner = document.getElementById("spinner");
var speed = 0;
var addSpeed = 10;
var slowSpeed = 2;

//Activates Slowdown
window.onload = loop();

//Speed up
function spin() {
if (speed < 0) {
speed = speed + 10;
loop()
} else {
speed = speed + 10;
}
}

spinner.addEventListener('click', spin);

//Slowdown
function loop() {
setTimeout(
function slow() {
speed = speed - slowSpeed;
document.getElementById("speed").innerHTML = speed;
if (speed > 0) {
loop();
}
}, 1000)
}

//Selectors
function wheel() {
spinner.src = "http://pngimg.com/uploads/car_wheel/car_wheel_PNG23305.png";
}
function spiral() {
spinner.src = "https://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Black_bold_spiral.svg/2000px-Black_bold_spiral.svg.png";
}
#spinner {
width: 500px;
}
#spinner {
transform: rotate("speed"deg);
}
/* The "speed" is the variable I want to use from the JavaScript */
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<div id="spinnerContainer">
<img id="spinner" src="http://pngimg.com/uploads/car_wheel/car_wheel_PNG23305.png"/>
<h4 id="speed">N/A</h4>
</div>
<div id="selectors">
<ul>
<button onclick="wheel()">Wheel</button>
<button onclick="spiral()">Spiral</button>
</ul>
</div>
<footer>

</footer>
<script src="script.js"></script>
</body>
</html>
<!-- END -->

最佳答案

您可以在 css 中声明变量(参见规范 --> https://www.w3.org/TR/css-variables/ )

:root {
--deg: 10deg;
}

然后就可以使用了

#spinner {
transform: rotate( var(--deg));
}

如何使用 JavaScript 访问变量

获取

var root = document.querySelector(':root');
var rootStyles = getComputedStyle(root);
var deg= rootStyles.getPropertyValue('--deg');
console.log(deg);
--> 10deg

设置

root.style.setProperty('--deg', '20deg');

目前,88% 的全局网站流量 supports CSS Variables

关于javascript - 如何在 CSS 中使用 Javascript 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49402471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com