JSFiddle - React, Tailwind, and code Playground

HTML

<body>
<div id="draggable" draggable="true" style="background-position: 0px 0px;">
</div>
</body>

CSS

body {
  background-color: #111;
  color: #555;
  font-size: 1.1em;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

#draggable{
  background-color: white;
  position:relative;
  width: 80%;
  height: 400px;
  margin: 0 auto;
  background-image: url("http://139.59.24.243/images/invitations/birthday/a.jpg");
  background-size: cover;
  background-repeat: no-repeat; 
  
  -webkit-mask-image: url(http://139.59.24.243/images/invitations/birthday/ice.png);
  mask-image: url(http://tympanus.net/codrops-playground/assets/images/cssref/properties/mask-image/mask-image.png);
  -webkit-mask-position: center center;
  mask-position: center center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
}

JavaScript

var xStart;
var yStart;
var imgOriginTop = 0;
var imgOriginLeft = 0;
var draggableElem = document.getElementById("draggable");

function moveDraggable(event){
		var offsetX = event.clientX - parseInt(xStart);
    var offsetY = event.clientY - parseInt(yStart);
    console.log((parseInt(imgOriginLeft) + offsetX) + "px");
    draggableElem.style.backgroundPositionX = (parseInt(imgOriginLeft) + offsetX) + "px";
    draggableElem.style.backgroundPositionY = (parseInt(imgOriginTop) + offsetY) + "px";
}

document.addEventListener("dragstart", function(event) {
		xStart = event.clientX;
    yStart = event.clientY;
       
    var img = document.createElement("img");
    img.src = "";
    img.width = 0;
    img.height = 0;
    event.dataTransfer.setDragImage(img, 0, 0);
    
    imgOriginLeft = draggableElem.style.backgroundPositionX;
    imgOriginTop = draggableElem.style.backgroundPositionY;
    
}, false);
  
document.addEventListener("drag", function(event) {
		moveDraggable(event);
}, false);

  
document.addEventListener("dragend", function(event) {
		moveDraggable(event);
    imgOriginLeft = parseInt(draggableElem.style.backgroundPositionX);
    imgOriginTop = parseInt(draggableElem.style.backgroundPositionY);
}, false);