我在创建的项目中使用jquery.event.drag.js,并且试图找到一种方法来为我拖动的每X个像素运行脚本。我为此仅使用X轴。这是我现在拥有的一些代码。

$('body').drag(function( ev, dd ){
    var newcell = currentCell;
    var dragOffset = Math.floor(dd.offsetX / 100);
    if (dragOffset >= 1) {
        alert("Dragged 100px");
    }
    newcell += dragOffset;
    $('#info').html(dragOffset + " | " + dd.offsetX);
    updateStack(newcell, magnifyMode);
});


但是,此方法有效,因为此脚本针对拖动的每个像素运行,因此在拖动100像素后便会运行警报,但是从那时起,我针对其拖动的每个像素便会运行警报。我正在寻找一种仅每拖动100px就运行一次的方法。有任何想法吗?

最佳答案

上次发出警报时具有外部变量跟踪:

var chunkedOffset = 0;
$('body').drag(function( ev, dd ){
    var newcell = currentCell;
    var dragOffset = dd.offsetX / 100;
    if (dragOffset > chunkedOffset) {
        chunkedOffset = dragOffset;
        alert("Dragged 100px");
    }
    newcell += dragOffset;
    $('#info').html(dragOffset + " | " + dd.offsetX);
    updateStack(newcell, magnifyMode);
});

关于javascript - jquery.event.drag-每拖动X个像素运行脚本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14042574/

10-12 03:54