ฉันใช้ html5 เพื่อใช้งาน 'ลากและวาง' http://www.w3schools.com/html/html5_draganddrop.asp.
แต่กล่องที่ดรอปได้ของฉันมีอยู่ไม่มากนักและไม่สามารถแสดงทั้งหมดในพื้นที่ที่แสดงของหน้าต่างได้ ดังนั้น เมื่อฉันลากองค์ประกอบไปยังกล่องดรอปป์ด้านล่าง (เช่น) ของหน้าต่างซึ่งอยู่นอกช่วงที่แสดง จะทำให้หน้าต่างเลื่อนโดยอัตโนมัติได้อย่างไร
เช่นเดียวกับหน้าเว็บต่อไปนี้ โดยที่ฉันต้องการลากรูปภาพและวางลงในสี่เหลี่ยมด้านล่าง (อันที่ห้า) ซึ่งอยู่นอกขอบเขตของพื้นที่ที่แสดง เวลาลากภาพไปท้ายหน้าต่าง จะทำให้หน้าต่างเลื่อนอัตโนมัติไปด้านล่างสุดได้อย่างไร?
<!DOCTYPE HTML>
<html>
<head>
<style type="text/css">
#div1,#div2,#div3,#div4,#div5
{
width:350px;
height:200px;
padding:10px;
border:1px solid #aaaaaa;
}
</style>
<script>
function allowDrop(ev)
{
ev.preventDefault();
}
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev)
{
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.innerHTML += data+"droppedHere"+"<br/>";
}
</script>
</head>
<body>
<p>Drag the W3Schools image into the rectangle:</p>
<img id="drag1" src="http://www.w3schools.com/html/img_logo.gif" draggable="true" ondragstart="drag(event)" width="336" height="69" />
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div2" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div3" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div4" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<div id="div5" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br>
</body>
</html>
(คุณสามารถคัดลอกโค้ดด้านบนไปยังคอลัมน์ด้านซ้าย http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop และตรวจสอบผลลัพธ์ทางด้านขวา ฉันต้องการแสดงสิ่งนั้นใน jsfiddle แต่ไม่รู้ว่าทำไมโค้ดถึงใช้งานไม่ได้)
ฉันสังเกตเห็นว่า Chrome สามารถทำได้โดยอัตโนมัติ แต่ไม่ใช่สำหรับเบราว์เซอร์อื่นๆ เช่น ซาฟารี
ฉันยังพบวิธีแก้ปัญหาที่เกี่ยวข้อง เช่น 'ฟังก์ชันการเลื่อน' หรือ 'การตรวจจับเมาส์นอกหน้าต่าง' แต่ฉันไม่สามารถได้รับสิ่งที่ต้องการตามรหัสของพวกเขา ขอขอบคุณเป็นอย่างสูงหากมีคนสามารถให้โซลูชันเวอร์ชันที่ละเอียด/สมบูรณ์ยิ่งขึ้นได้