0

CSS3 の transform 属性と JavaScript の SetTimeout メソッドを使って、画像を 360 度連続回転させる小さなプログラムを作成していました。全体を検索することで、必要な結果を得ることができました。プログラムは正常に実行されていますが、1 つのことを理解できません。setTimeout 内で、バックスラッシュの後に一重引用符が必要なのはなぜですか。

setTimeout('rotateAnimation(\'' + elem + '\', '+ speed + ')',speed);

関連する完全なコードは次のとおりです。 head スクリプトの内部:

<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>
4

2 に答える 2

2

バックスラッシュは、多くの言語の文字列のエスケープ文字です。バックスラッシュを使用すると、予約された意味を使用せずに予約文字を文字列に入力できます。バックスラッシュがない場合、引用符は文字列に引用符を挿入するのではなく、文字列の終わりを示します。

引用符が必要な理由は、そのパラメーターが引用符の終了を必要とする文字列パラメーターであるためです。

于 2013-08-27T07:38:27.570 に答える