1

ランダムな名前が生成されるまでドラムロールを再生してから、それを削除して歓声を再生します。

これらのファイルは両方とも正しく再生を開始しますが、何らかの理由でドラム ロールが停止しません。

Array.prototype.remove = function(from, to) {
    var rest = this.slice((to || from) + 1 || this.length);
    this.length = from < 0 ? this.length + from : from;
    return this.push.apply(this, rest);
};

$(document).ready(function(){

    var staff = [ 'hardcoded', 'list', 'of', 'staff', 'members' ];

    $('button#start').click( function() {

        $('embed').remove();
        $('body').append('<embed id="drum-roll" src="drum-roll.wav" autostart="true" hidden="true" loop="true">');

        var $display = $('#display'),
            $results = $('#results table');
        $display.removeClass( "winner" );
        $display.addClass( "spinner" );

        var counter = 0,            
            rand = 0,
            run_time = 10,
            delay = ( run_time * 100 ) / staff.length,
            loop_number = 5,
            max_count = staff.length * loop_number;

        $display.doTimeout( 'loop', delay, function() {
            counter++;
            var newRand = Math.floor( Math.random() * staff.length );
            if ( rand === newRand ) {
                rand = Math.floor( Math.random() * staff.length );
            } else {
                rand = newRand;
            }

            $(this).text( staff[rand] );

            if ( counter < max_count ) { return true; }
            else {
                $('#results tr:last').after('<tr><td class="number">' + staff.length + '</td><td>' + staff[rand] + '</td></tr>');
                staff.remove( rand );
                $display.removeClass( "spinner" );
                $display.addClass( "winner" );

                $('embed').remove();
                $('body').append('<embed src="cheering.wav" autostart="true" hidden="true" loop="false">');
            }
        });
    });

});

なぜこれが当てはまるのでしょうか?私はそれが最初embedにDOMにないことと関係があると思いますか、それとも何か?

前もって感謝します、

4

1 に答える 1

2

「埋め込み」タグを削除しようとしないでください。可能であれば、タグ自体の ID への参照を削除してください。

それ以外の:

$('embed').remove();

試す:

$('#drum-roll').remove();
于 2012-07-20T10:44:12.367 に答える