javascript - onClick 事件无法执行功能

标签 javascript html css

我的程序中有一个图像,我希望用户能够在每次单击时旋转 90 度。因为图像以倾斜 Angular 自动放置在我的程序中,所以我需要在允许用户这样做之前使用 CSS 旋转图像。这样,当它被点击时,图像将水平和侧向显示。目前,我的 HTML 代码中的 onClick 事件似乎只能工作一次。

我试图声明一个变量来增加每次点击时的旋转值,但这样做完全消除了旋转

<html>
   <head>
   <script>
     var degrees = 57;
     function rotateImage() {
       var img = document.getElementById('c-channel');
       degrees += 90;
       img.style.transform = 'rotate(degrees)';  
 }
 </script>

 <style>
    #c-channel{
      position: absolute;
      cursor:move;
      width:190px;
      height:150px;
      transform:rotate(57deg);
   }
   </style>
   </head>

 <body>
   <img id="c-channel" src="https://cdn.glitch.com/2a39b17c-6b95-46ec9d5c-cf9db18cd879%2Foutput-onlinepngtools%20(6).png?v=1564485433523" onclick="rotateImage()"> 
 </body>
</html>

我希望该程序允许用户在每次点击时将图像再旋转 90 度,但点击图像却没有提供任何可见的变化。

最佳答案

您没有使用 degrees 变量,您可以使用如下字符串模板:

var degrees = 57;

function rotateImage() {
  var img = document.getElementById('c-channel');
  degrees = (degrees % 360) + 90;
  //img.style.transform = 'rotate(' + degrees + 'deg)';
  img.style.transform = `rotate(${degrees}deg)`;
}
#c-channel {
  position: absolute;
  cursor: move;
  width: 190px;
  height: 150px;
  transform: rotate(57deg);
  border: grey;
}
<img id="c-channel" onclick="rotateImage()">

关于javascript - onClick 事件无法执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57271997/

相关文章:

html - 表单元素宽度

Android应用程序不同风格的标题在同一个标​​题栏

Javascript - 读取不带方括号的 JSON 数组

javascript - Angularjs ng-repeat 过滤器适用于 v1.0.1 而不是 v1.3.7

PHP echo 在 POST 中不起作用

jquery - 打开单独的下拉菜单。简化代码

html - 焦点不起作用

css - 在全屏设置 div 的高度,在 div 中使用滚动条和标题

javascript - 如何使用 Button 的 OnClientClick 属性在 ASP.NET 中运行一些多个 JavaScript 函数?

javascript - 如何在react js中尚未安装的组件中显示通知