JSFiddle - React, Tailwind, and code Playground
by Twisty
HTML
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
CSS
body {
margin 0;
}
JavaScript
function Board(parentDIV, size, options) {
if (options == "undefined") {
options = {};
}
var me = this;
/**
// Define Functions
***/
this.ship = function(name, width, height, left, top) {
console.log("Creating Ship: " + name, width, height, left, top);
return $("<div>", {
id: name,
class: "ship"
})
.draggable({
containment: "parent",
preventCollision: true,
grid: [me.size, me.size],
cursor: "none",
start: function(event, ui) {
console.log("EVENT: " + event.type, event.target.id);
console.log(event);
me.dragging = true;
},
stop: function(event, ui) {
console.log("EVENT: " + event.type, event.target.id);
me.dragging = false;
me.update.apply(me);
},
drag: function(event, ui) {
console.log("EVENT: " + event.type, event.target.id);;
//me.validate();
}
})
.css({
position: "absolute",
width: (width * me.size).toString() + "px",
height: (height * me.size).toString() + "px",
"background-color": "#000",
top: (top * me.size).toString() + "px",
left: (left * me.size).toString() + "px"
})
.on({
contextmenu: function(event) {
console.log("EVENT: " + event.type, event.target.id);
event.preventDefault();
event.stopImmediatePropagation();
},
mousedown: me.flip,
mouseup: function(event) {
console.log("EVENT: " + event.type, event.target.id);
console.log(event);
if (event.which === 3) {
return false;
}
}
})
.appendTo(me.boardDIV);
};
this.flip = function(event) {
if (event.which == 3) {
console.log("EVENT: " + event.type, event.target.id);
console.log("Performing Flip: ", event.target.id);
var ship = $(event.target);
var width =...