Saya menggunakan html5 untuk mengimplementasikan 'drag and drop' http://www.w3schools.com/html/html5_draganddrop.asp.
Tapi kotak droppable saya cukup banyak dan tidak bisa semuanya ditampilkan di area yang ditampilkan di jendela. Oleh karena itu, ketika saya menyeret elemen ke (mis.) kotak droppable bawah jendela yang berada di luar jangkauan yang ditampilkan, bagaimana cara membuat jendela bergulir secara otomatis?
Seperti halaman web berikut, di mana saya ingin menyeret gambar dan melepaskannya ke persegi panjang paling bawah (yang kelima), yang berada di luar jangkauan area yang ditampilkan. Ketika saya menyeret gambar ke akhir jendela, bagaimana cara membuat jendela bergulir secara otomatis hingga ke bawah?
<!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>
(Anda dapat menyalin kode di atas ke kolom kiri http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_draganddrop, dan periksa hasilnya di sebelah kanan. Saya ingin menunjukkannya di jsfiddle, tetapi tidak tahu mengapa kode tidak berfungsi di sana)
Saya perhatikan Chrome dapat melakukan ini secara otomatis, tetapi tidak untuk browser lain seperti safari.
Saya juga menemukan solusi terkait seperti 'fungsi gulir' atau 'mendeteksi mouse di luar jendela'. Tapi saya tidak bisa mendapatkan apa yang saya inginkan berdasarkan kode mereka. Sangat menghargai jika seseorang dapat memberikan versi solusi yang lebih detail/lengkap.