срабатывает всего один раз условие.
$(document).ready(function(){
// увеличение объекта
$('#zoomUp').on({
mousedown : function(){
objectZoom = setInterval(function(){
objectZoomRun('up');
}, 200);
console.log('zoomMousedown');
},
mouseup : function(){
clearTimeout(objectZoom);
console.log('zoomMouseup');
}
});
// уменьшение объекта
$('#zoomDown').on({
mousedown : function(){
objectZoom = setInterval(function(){
objectZoomRun('down');
}, 200);
console.log('zoomMousedown');
},
mouseup : function(){
clearTimeout(objectZoom);
console.log('zoomMouseup');
}
});
});
function objectZoomRun(value){
var object = canvas.getActiveObject();
if (value == 'up') {
object.scaleX += 0.005;
object.scaleY += 0.005;
}
if (value == 'down') {
object.scaleX -= 0.005;
object.scaleY -= 0.005;
}
console.log('zoom='+object.scaleX+'/'+object.scaleY);
canvas.renderAll();
}
Edit: В первоначальной версии написал setTimeout вместо setInterval. так что все работает