Computer >> Máy Tính >  >> Lập trình >> CSS

Làm cách nào để Kéo / Xoay một Hình ảnh trong một div Container bằng jQuery?

Với sự trợ giúp của các sự kiện như mousedown, mouseup và mousemove, chúng tôi có thể dịch hình ảnh từ đó tạo ra hiệu ứng kéo.

Ví dụ sau mô tả cách một hình ảnh có thể được di chuyển bằng jQuery.

Ví dụ

<!DOCTYPE html>
<html>
<head>
<style>
#parent{
   position: absolute;
   margin: 20px;
   width: 200px;
   height: 200px;
   border-radius: 25px;
   background-color: khaki;
}
#mover {
   position: relative;
   margin: 10px;
}
</style>
</head>
<body>
<div id=parent>
<img id="mover" src="https://images.unsplash.com/photo-1613333238609-
ef9218f3ddbd?crop=entropy&cs=tinysrgb&fit=crop&fm=jpg&h=100&ixlib=rb1.2.1&q=80&w=100" />
</div>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script>
let ele = {startPositionX:0,startPositionY:0};
let disp = {x:0,y:0};
$('#parent').on("mousedown",function(e){
   let container = $(this);
   ele.startPositionX=e.pageX-disp.x;
   ele.startPositionY=e.pageY-disp.y;
   $(document).on("mousemove",function(e){
      disp.x=e.pageX-ele.startPositionX;
      disp.y=e.pageY-ele.startPositionY;
      $('#mover').css('transform','scale('+1.0+') translate('+disp.x+'px, '+disp.y+'px)');
   });
});
$(document).on("mouseup",function(){
   $(this).off("mousemove");
});
</script>
</body>
</html>

Đầu ra

Điều này sẽ tạo ra kết quả sau -

Làm cách nào để Kéo / Xoay một Hình ảnh trong một div Container bằng jQuery?

Kéo

Làm cách nào để Kéo / Xoay một Hình ảnh trong một div Container bằng jQuery?