style.transform = "rotate()"不止一次?
style.transform = "rotate()" more than once?
我有一个 svg 图像,当我点击一个复选框时它会旋转 360 度。我使用 style.transform。但是当我取消选中时,它不会再这样做了。
有没有什么办法让它在不刷新的情况下旋转不止一次?
我试过在 "else"
中包含相同的功能
<input type="checkbox" id="myCheck" onclick="myFunction()">
<label for="myCheck"><img src="logo.svg" id="svg1"></label>
<script>
function myFunction() {
var checkBox = document.getElementById("myCheck");
if (checkBox.checked == true){
document.getElementById("svg1").style.transform = "rotate(360deg)";
}else{
document.getElementById("svg1").style.transform = "rotate(360deg)";
}
}
</script>
目前只旋转一次。当我再次点击时它不会再次执行。
嗯。为什么你的其他人也有 360 度?如果我是对的,你应该说
if(input.checked) document.getElementById("svg1").style.transform = "rotate(360deg)";
else document.getElementById("svg1").style.transform = "rotate(0)";
如果我错了请纠正我。所以您想将 SVG 元素旋转 360 度?所以基本上,如果你旋转一个元素 360 度,你不会看到任何差异,因为它是一个完整的旋转。当然,变换不会对你的旋转求和。
如果需要,您可以添加转换。
<input type="checkbox" id="myCheck" onclick="myFunction()">
svg
<label for="myCheck"><img src="logo.svg" id="svg1"></label>
<script>
function myFunction() {
var checkBox = document.getElementById("myCheck");
document.getElementById("svg1").style.transition = "all 300ms ease-in";
if (checkBox.checked == true){
document.getElementById("svg1").style.transform = "rotate(360deg)";
}else{
document.getElementById("svg1").style.transform = "rotate(0deg)";
}
}
</script>
我有一个 svg 图像,当我点击一个复选框时它会旋转 360 度。我使用 style.transform。但是当我取消选中时,它不会再这样做了。
有没有什么办法让它在不刷新的情况下旋转不止一次?
我试过在 "else"
中包含相同的功能<input type="checkbox" id="myCheck" onclick="myFunction()">
<label for="myCheck"><img src="logo.svg" id="svg1"></label>
<script>
function myFunction() {
var checkBox = document.getElementById("myCheck");
if (checkBox.checked == true){
document.getElementById("svg1").style.transform = "rotate(360deg)";
}else{
document.getElementById("svg1").style.transform = "rotate(360deg)";
}
}
</script>
目前只旋转一次。当我再次点击时它不会再次执行。
嗯。为什么你的其他人也有 360 度?如果我是对的,你应该说
if(input.checked) document.getElementById("svg1").style.transform = "rotate(360deg)";
else document.getElementById("svg1").style.transform = "rotate(0)";
如果我错了请纠正我。所以您想将 SVG 元素旋转 360 度?所以基本上,如果你旋转一个元素 360 度,你不会看到任何差异,因为它是一个完整的旋转。当然,变换不会对你的旋转求和。
如果需要,您可以添加转换。
<input type="checkbox" id="myCheck" onclick="myFunction()">
svg
<label for="myCheck"><img src="logo.svg" id="svg1"></label>
<script>
function myFunction() {
var checkBox = document.getElementById("myCheck");
document.getElementById("svg1").style.transition = "all 300ms ease-in";
if (checkBox.checked == true){
document.getElementById("svg1").style.transform = "rotate(360deg)";
}else{
document.getElementById("svg1").style.transform = "rotate(0deg)";
}
}
</script>