Проблема добавления на сайт анимации на js

var clever = document.getElementById("clever");
  var a = 0;
  function torsion(){
    clever.setAttribute("style", "transform: rotate("+a+"deg)");
    if(a == 360){
        a = 0;
    }
    a++ 
  }
setInterval(torsion,50); 

При подключении на сайт вот такая вот ошибка в консоли: [2]: https://i.stack.imgur.com/nU5KK.png


Ответы (1 шт):

Автор решения: humster_spb

Нужно в setInterval объявить анонимную функцию, внутри которой вызвать torsion():

var clever = document.getElementById("clever");
  var a = 0;
  function torsion(){
    clever.setAttribute("style", "transform: rotate("+a+"deg)");
    if(a == 360){
        a = 0;
    }
    a++
  }
setInterval(function(){torsion()},50); 
<img id="clever" src="http://quick-trips.com/wp-content/uploads/2017/12/4444444444444445.jpg" width="300">

Но не очень понятно, зачем Вам в принципе js для такой вещи - давно ведь придумали css-анимацию:

@keyframes rotate {
  0 {transform: rotate(0deg)}
  100% {transform: rotate(360deg)}
}
#clever {
  animation: rotate 15s linear infinite;
}
<img id="clever" src="http://quick-trips.com/wp-content/uploads/2017/12/4444444444444445.jpg" width="300">

→ Ссылка