javascript - 图像在屏幕外旋转

标签 javascript jquery html css

我这里有这段代码,但是我的图像在我的应用程序屏幕的右边很远,我希望它是静态的,但仍然在原地旋转,或者可能只是移动一点点,不像它在这个中那样代码 任何建议将不胜感激,谢谢!

<script>
var looper;
var degrees = 0;
function rotateAnimation(el,speed){
    var elem = document.getElementById(el);
    if(navigator.userAgent.match("Chrome")){
        elem.style.WebkitTransform = "rotate("+degrees+"deg)";
    } else if(navigator.userAgent.match("Firefox")){
        elem.style.MozTransform = "rotate("+degrees+"deg)";
    } else if(navigator.userAgent.match("MSIE")){
        elem.style.msTransform = "rotate("+degrees+"deg)";
    } else if(navigator.userAgent.match("Opera")){
        elem.style.OTransform = "rotate("+degrees+"deg)";
    } else {
        elem.style.transform = "rotate("+degrees+"deg)";
    }
    looper = setTimeout('rotateAnimation(\''+el+'\','+speed+')',speed);
    degrees++;
    if(degrees > 359){
        degrees = 1;
    }
    document.getElementById("status").innerHTML = "rotate("+degrees+"deg)";
}
</script>

html

<img id="img1" src="http://s8.postimg.org/h719p5x85/transimage.png" alt="cog1">
<script>rotateAnimation("img1",15);</script>

最佳答案

问题是图像的 Canvas 尺寸比可见部分本身大得多。旋转发生在图像的中心周围,因此您会看到旋转中的问题。如果你把星星剪掉,问题就应该解决了。

还有,用 CSS 做这件事不是更容易吗?

#img1 {
  transition: 0.7s linear;
}

#img1:hover {
  transform: rotate(360deg);
}

参见 http://jsfiddle.net/bfvwweah/1/

编辑:永久旋转示例:http://jsfiddle.net/bfvwweah/3/

关于javascript - 图像在屏幕外旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34246271/

相关文章:

jQuery ui 列表排序

Javascript onpaste 不工作

jQuery 解析 HTML 元素并获取其内部 HTML

javascript - 如何给表设置id属性?

html - 如何使用 flexbox 设置容器的最大宽度?

javascript - 单击后如何使徽章通知在所有网页上消失

javascript - 在 Outlook 中注册 Office.EventType.RecipientChanged 处理程序的正确方法是什么?

javascript - 如何在网页上显示 moment.js 时间?

javascript - 没有自动过滤器的jquery移动搜索

javascript - Angular 元素无法正确处理 "display: block"