#javascript #jquery
пример: https://jsfiddle.net/vrtnw5xf/1/ как реализовать чтобы за одно "зажатие" кнопки мыши можно было выделить от 1 до 4 клеток только во вертикали или по горизонтали? $(function() { var isMouseDown = false; $(".custom-cell").mousedown(function() { isMouseDown = true; $(this).toggleClass("custom-cell-clicked"); return false; // prevent text selection }).mouseover(function() { if (isMouseDown) { $(this).toggleClass("custom-cell-clicked"); } }).on("selectstart", function() { return false; // prevent text selection in IE }); $(document).mouseup(function() { isMouseDown = false; }); });
Ответы
Ответ 1
что-то вроде этого нужно? $(function() { var isMouseDown = false; var clickedCell; var mouseMove; var oldMouseMove; $(".custom-cell").mousedown(function() { isMouseDown = true; clickedCell = $(this).data("id"); $(this).toggleClass("custom-cell-clicked"); return false; // prevent text selection }).mouseover(function(event) { if (isMouseDown) { oldMouseMove = mouseMove; if(clickedCell == ($(this).data("id")-1) || clickedCell == ($(this).data("id")+1)) { mouseMove = "horisontal"; } else { mouseMove = "vertical"; } if(oldMouseMove == undefined || oldMouseMove == mouseMove) { $(this).toggleClass("custom-cell-clicked"); } else { isMouseDown = false; } clickedCell = $(this).data("id"); } }).on("selectstart", function() { return false; // prevent text selection in IE }); $(document).mouseup(function() { isMouseDown = false; mouseMove = undefined; oldMouseMove = undefined; clickedCell = undefined; }); }); https://jsfiddle.net/vrtnw5xf/3/
Комментариев нет:
Отправить комментарий