2017-11-07 22 views
0

progressbar.jsから複数のプログレスバーがあり、それらをすべて破棄したいのですが、すべてのプログレスバーの名前は、リストの文字列の後になります。たとえば、接続されたユーザーは、User1、User2、Johnです。プログレスバーの名前はprogressBarUser1、progressBarUser2、progressBarJohnになります。progressbar.jsからプログレスバーを破棄します

socket.on('disconnect', function() { 
     console.log('Connection Lost'); 
     socket.disconnect(); 

     usersList.forEach(function(v) { 
     window["progressBar" + v.userID] = null; //Doesn't work 
     }); 
    }); 

答えて

0

異なる進捗バーを変数に格納します。プログレスバーを宣言するときと削除するときの両方で変数が使用可能であることを確認します。次に、それぞれに.destroy()関数を使用します。

コード例:

HTML:

<div id="line"></div> 
<div id="circle"></div> 
<div id="semicircle"></div> 

Javascriptを:

var progressBars = []; 

function addAnimations() { 
    progressBars.push(new ProgressBar.Line('#line')); 
    progressBars.push(new ProgressBar.Circle('#circle')); 
    progressBars.push(new ProgressBar.SemiCircle('#semicircle')); 

    progressBars.forEach(function(bar){ 
     bar.animate(1.0); 
    }); 
} 

function destroyAll() { 
    progressBars.forEach(function(bar){ 
     bar.destroy(); 
    }); 
} 

addAnimations(); 
destroyAll(); 
関連する問題