2015-10-27 104 views
2

我試圖計算用戶單擊時記錄的距離,並在用戶再次單擊時停止記錄。我怎樣才能做到這一點?由於我對鼠標事件不是很熟悉,我嘗試過使用點擊事件,但每次點擊我都完全停止該功能。我有下面的代碼。JS計算鼠標點擊距離的距離

var xTravelled = 0, yTravelled = 0, prevX, prevY, count = 0, select = false; 
$(document).on({ 
    click : function(e) { 
     select = true; 
    }, 
    mousemove : function(e) { 
     if (select) { 
      prevY && (yTravelled += Math.abs(e.pageY - prevY)); 
      prevX && (xTravelled += Math.abs(e.pageX - prevX)); 

      prevX = e.pageX; 
      prevY = e.pageY; 

      $('#result').text(yTravelled + xTravelled); 
     } 
    } 
}); 
+0

是在第一行的'var'一個錯字? –

+0

這是!對於那個很抱歉! – user1610834

+0

您可能想要使用[pythagoras](https://en.wikipedia.org/wiki/Pythagorean_theorem)計算距離,而不是僅添加x和y距離。 – Anders

回答

2

只要改變你的

click : function(e) { 
     select = (select==false)?true:false; 

    }, 

這裏fiddle

+3

'select =!select' – Jivings

+0

謝謝!這工作! – user1610834