我正在创建一个小程序,它使用 CSS3 的 transform 属性和 JavaScript 的 SetTimeout 方法连续旋转图像 360 度。我能够通过搜索获得所需的结果。程序运行良好,但我无法理解一件事:为什么在 setTimeout 中,我们需要反斜杠后跟单引号。
setTimeout('rotateAnimation(\'' + elem + '\', '+ speed + ')',speed);
相关的完整代码是:内部头脚本:
<script>
var degrees=0;
function rotateAnimation(elem, speed){
var el=document.getElementById(elem);
if(navigator.userAgent.match("Chrome")){
el.style.WebkitTransform="rotate(" +degrees + "deg)";
} else if(navigator.userAgent.match("Mozilla")){
el.style.MozTransform="rotate(" +degrees + "deg)";
}
setTimeout('rotateAnimation(\'' + elem + '\', '+ speed + ')',speed);
degrees++;
if(degrees>359)
degrees=0;
}
</script>
机身内部:
<img id="img1" width="150px" height="150px" src="culture.png" />
<script>
rotateAnimation("img1", 200);
</script>