简体   繁体   English

Javascript onclick只能运行一次

[英]Javascript onclick only works once

So I made this, 所以我做了这个,

var Coin = document.getElementById("coin");

Coin.onclick = function() {
    Coin.style.webkitTransform = "rotateY(1800deg)";
    Coin.style.MozTransform = "rotateY(1800deg)";
    Coin.style.msTransform = "rotateY(1800deg)";
    Coin.style.OTransform = "rotateY(1800deg)";
    Coin.style.transform = "rotateY(1800deg)";
}

Found at: https://jsfiddle.net/dkjufqn0/ 发现于: https//jsfiddle.net/dkjufqn0/

And in it, a coin spins. 在它里面,一枚硬币旋转。 However, it only fires once. 但是,它只发射一次。 The first time I click it. 我第一次点击它。 It doesn't fire again after. 它之后不再发射。 Help! 救命!

Every time you click the coin it remains at the 1800 degrees, to rotate it on each click you need to increment its degrees as in below example: 每次点击硬币时它都保持在1800度,要在每次点击时旋转它,你需要增加它的度数,如下例所示:

https://jsfiddle.net/dkjufqn0/1/ https://jsfiddle.net/dkjufqn0/1/

 var Coin = document.getElementById("coin"); var degrees = 0; Coin.onclick = function() { degrees += 1800; console.log(degrees) Coin.style.webkitTransform = "rotateY(" + degrees + "deg)"; Coin.style.MozTransform = "rotateY(" + degrees + "deg)"; Coin.style.msTransform = "rotateY(" + degrees + "deg)"; Coin.style.OTransform = "rotateY(" + degrees + "deg)"; Coin.style.transform = "rotateY(" + degrees + "deg)"; } 
 body { -webkit-transform: perspective(500px); -webkit-transform-style: preserve-3d; } .coin { background-image: url("http://coins.thefuntimesguide.com/images/blogs/presidential-dollar-coin-reverse-statue-of-liberty-public-domain.png"); background-size: 100% 100%; border-radius: 100%; height: 100px; margin: 50px auto; position: relative; width: 100px; -webkit-transition: 2s linear; -webkit-transform-style: preserve-3d; } 
 <div class="coin" id="coin"></div> 

Are you sure about that? 您确定吗? place a console.log(in that handler to check it) 放置一个console.log(在那个处理程序中检查)

I think your code is fine, except the rotateY calls seem to do nothing after the first click because you always set it to the same value. 我认为你的代码很好,除了在第一次点击后,rotateY调用似乎什么都不做,因为你总是将它设置为相同的值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM