簡體   English   中英

jQuery中的嵌套IF-正確的JavaScript語法

[英]Nested IF in Jquery - proper javascript syntax

嘗試查找如何在IF語句中傳遞此jquery函數的參數的var msg結果:

$(document).mousemove(function( event ) {
var msg = "Handler for .mousemove() called at ";
msg += event.pageX + ", " + event.pageY;
if (msg->event.pageX > '750'){
$( "‪#‎log‬" ).append( "<div>" + msg + "</div>" );
}});

我究竟做錯了什么?

我想創建某種熱圖,以使用var並在以后對其進行操作,將其語法化的正確方法是什么

像這樣

$(document).mousemove(function( event ) {
 var map=   {} ;
 var msg = event.pageX + ", " + event.pageY;
  map.x = event.pageX - 0; 
  map.y = event.pageY - 0; 
  if ( map.x > 750)
  {
    var msg = "Handler for .mousemove() called at ";
    $( "‪#‎log‬" ).append( "<div>" + msg + "</div>" );
  }
});

我建議您看一下去抖動的原因,因為mousemove事件被頻繁且快速地觸發,因此您可以編寫以下內容:

 // from https://github.com/m-gagne/limit.js/blob/master/limit.js Function.prototype.debounce = function (milliseconds, context) { var baseFunction = this, timer = null, wait = milliseconds; return function () { var self = context || this, args = arguments; function complete() { baseFunction.apply(self, args); timer = null; } if (timer) { clearTimeout(timer); } timer = setTimeout(complete, wait); }; }; $(function () { $(document).on('mousemove', function(event) { if (event.pageX > 150){ $('#log').append( '<p>' + 'Handler for .mousemove() called at ' + event.pageX + ', ' + event.pageY + '</p>'); } }.debounce(5)); // debounce with a 5 millisecond limit }); 
 <script src="https://code.jquery.com/jquery-1.12.1.min.js"></script> <div id="log"> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM