이번에는 H5를 사용하여 드래그 앤 드롭 효과를 얻는 방법과 H5를 사용하여 드래그 앤 드롭 효과를 얻는 데 필요한 노트를 보여 드리겠습니다. 다음은 실제 사례입니다. 봐.
드래그 앤 드롭
드래그 앤 드롭은 개체를 잡고 나중에 다른 위치로 드래그하는 일반적인 기능입니다.
HTML5에서는 드래그 앤 드롭이 표준의 일부이며 모든 요소를 드래그 앤 드롭할 수 있습니다.
Internet Explorer 9+, Firefox, Opera, Chrome 및 Safari는 드래그를 지원합니다.
참고: Safari 5.1.2는 드래그를 지원하지 않습니다.
예:
<!DOCTYPE html> <html> <head> <title>拖放</title> <style type="text/css"> #p1{width:360px;height:220px;padding:20px;border:1px solid black;} </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.appendChild(document.getElementById(data)); } </script> </head> <body> <p id="p1" ondrop="drop(event)" ondragover="allowDrop(event)"></p> <br /> <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)" width="300px" height="180px" /> </body> </html>
먼저 요소를 드래그 가능하게 만들려면 draggable 속성 을 true로 설정합니다.
그런 다음 요소를 드래그할 때 어떤 일이 발생하는지 지정하세요.
위의 예에서 ondragstart 속성은 드래그할 데이터를 지정하는 drag(event) 함수를 호출합니다.
dataTransfer.setData() 메서드 는 드래그된 데이터의 데이터 유형과 값을 설정합니다.
function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); }
이 예에서 데이터 유형은 "텍스트"이고 값은 드래그 가능한 요소의 ID입니다( "드래그1").
ondragover 이벤트 는 드래그된 데이터를 배치할 위치를 지정합니다.
기본적으로 데이터/요소는 다른 요소에 배치될 수 없습니다. 배치를 허용해야 하는 경우 요소의 기본 처리를 방지해야 합니다.
이 작업은 ondragover 이벤트의 event.preventDefault() 메서드 를 호출하여 수행됩니다. event.preventDefault()
드래그된 데이터가 배치되면 드롭 이벤트가 발생합니다.
위의 예에서 ondrop 속성은 함수를 호출합니다. drop(event):
function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); }
코드 설명:
Call preventDefault() 브라우저의 기본 데이터 처리를 방지합니다(drop 기본 이벤트 동작은 링크로 열리는 것입니다.)
dataTransfer.getData("Text") 메소드를 통해 드래그된 데이터를 가져옵니다. 이 메소드는 setData() 메소드에서 동일한 유형으로 설정된 모든 데이터를 반환합니다.
드래그된 데이터는 드래그된 요소의 ID("drag1")입니다.
드래그된 요소를 배치 요소(대상 요소)에 추가합니다.
앞뒤로 드래그:
둘 사이를 앞뒤로 드래그하려는 경우
본문의 코드를 다음과 같이 변경하세요.
<body> <p id="p1" ondrop="drop(event)" ondragover="allowDrop(event)"> <img id="drag1" src="img/bg_1.jpg" draggable="true" ondragstart="drag(event)" width="300px" height="180px" /></p> <p id="p2" ondrop="drop(event)" ondragover="allowDrop(event)"></p> </body>
그런 다음 스타일에 #p2를 추가하세요.
<style type="text/css"> #p1,#p2{width:360px;height:220px;padding:20px;border:1px solid black;} </style>
이렇게 하면 앞뒤로 드래그 앤 드롭할 수 있습니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
위 내용은 H5를 사용하여 드래그 앤 드롭 효과를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!