html5元素拖动 (转载黑桐)
HTML5 元素拖动
1、拖动元素img的相关设置:
设置元素可以拖动属性
draggable="true"
设置元素被拖动时触发的事件
ondragstart="drag(event)"
图片元素可拖动的完整代码
HTML:
<img id="drag1" src="images/ycbt1.JPG" draggable="true" ondragstart="drag(event)" />
Javascript:
<script>
function drag(event){
event.dataTransfer.setDate("Text",ev.target.id);
}
</script>
2、设置允许拖动对象放置的元素div:
允许拖动图片放置在div内,阻止对事件的默认处理方式,在div内添加属性
ondragover="allowDrop(event)"
放置时触发的事件
ondrop="drop(event)"
div元素可放置拖动img的完整代码
HTML:
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)" style="width:600px; height:100px; border:1px solid black"></div>
Javascript:
<script>
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function allowDrop(ev)
{
ev.preventDefault();
}
function drop(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>
3、把两张图片img拖动到一个div中,并排放置完整代码
HTML:
<body>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img class="img" id="drag1" src="images/ycbt1.JPG" draggable="true" ondragstart="drag(event)"/>
<img class="img" id="drag2" src="images/ycbt2.JPG" draggable="true" ondragstart="drag(event)"/>
</body>
CSS:
<style type="text/css">
#div1 {width:600px; height:100px; border:1px solid black; padding:10px}
.img {width:60px; height:90px; margin:10px; float:left}
</style>
Javascript:
<script type="text/javascript">
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
function allowDrop(ev)
{
ev.preventDefault();
}
function drop(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
</script>

浙公网安备 33010602011771号