我在我正在创建的项目中使用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);
});
然而,这是有效的,因为此脚本针对拖动的每个像素运行,这会在100px拖动后运行警报,但从那时起,它会针对每个像素运行,之后我将其拖动。我正在寻找一种方法,只运行它每100px我拖动它。有什么想法吗?
答案 0 :(得分:2)
我对drag.js并不完全熟悉,但是,您可以使用模数除法来确保每100px。
x%100 - 如果可以被100整除则为0,所以
if(dd.offsetX % 100 == 0)
{
alert("Dragged 100px");
}
答案 1 :(得分:2)
上次发出警报时有外部变量跟踪:
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);
});