[英]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.