0

これが私の現在のjavascriptです。「for ループ」を追加するまで、それが機能したことはわかっています。for ループのポイントは、文字を切り替えることです。現状では、3 つのグループが 1 つの文字に等しいかどうかをチェックしています。後で修正しますが、マウスがボタンの上に移動してもボタンがフェードしないため、構文エラーがあるに違いないことはわかっています。これがばかげた質問であることはわかっています。エラーが表示されると自分を蹴りますが、疲れていて、今のところそれを見つけることができません。また、これは for ループで文字を変更する有効な方法ですか? 配列の値を新しい文字に設定する正しい方法ですか?

script.js は次のとおりです。

    $(document).ready(function() {
    $('#button_translate').mouseenter(function() {
        $('#button_translate').fadeTo('fast', 1);
    });
    $('#button_translate').mouseleave(function() {
        $('#button_translate').fadeTo('fast', 0.7);
    });
    $('#button_clear').mouseenter(function() {
        $('#button_clear').fadeTo('fast', 1);
    });
    $('#button_clear').mouseleave(function() {
        $('#button_clear').fadeTo('fast', 0.7);
    });
    $('#button_translate').click(function() {
        var dna = $('input[name=dna]').val();
        var dna = dna.toUpperCase();
        function allBases(text) {  
            var bases = /^[ACGT]+$/;  
            if(text.match(bases)) {  
                var arr = text.match(/.{1,1}/g);
                /*document.write(arr + " is a DNA sequence.");*/
                for (var i = 0; i < (dna.length); i++) {
                    if (arr[i]==='A') {
                        arr[i]='U'
                    }else if (arr[i]==='C') {
                        arr[i]='G'
                    }else if (arr[i]==='G') {
                        arr[i]='C'
                    }else if (arr[i]==='T') {
                        arr[i]='U'
                    }else{
                        document.write(dna + " is not a real DNA sequence. Error Code 2");
                    }
                }
                document.write(dna + " is the translated mRNA strand!");
            }else{
                document.write(dna + " is not a real DNA sequence.");
            }  
        }

        allBases(dna);

    });
});
4

2 に答える 2

2
for (var i=0; i>=((dna.length) / 3); i++) {

おそらく、ループ条件を dna.length 未満にする必要があります

for (var i = 0; i < (dna.length/3); i++) {
于 2013-08-12T00:35:22.227 に答える
0

(forループで閉じていない

for (var i=0; i>=(dna.length) / 3); i++) { // extra ( in i>=((dna.length) / 3)
于 2013-08-12T00:33:44.597 に答える