javascript - In HTML5 how do you make spefic video players pop up as a result of dropping and dragging spefic images into a div? -
i able drop , drag images div. have 2 images. problem want when image 1 "carrots.jpg" dragged , dropped div video play lets "video 1" , when image 2 "pepper.png" dragged , dropped div "video 2" play. videos show in pop-up windows. how do this? here of code display how i'm doing drop , drag event.
#div1 {width:20%;height:20%; position:absolute; left:50%; top:50%; margin-right: -50%; transform: translate(-50%, -50%); z-index:-1; } #drag2{width:20%; height:20%; position:absolute; left:50%; top:50%; margin-right: -50%; transform: translate(-50%, -50%); z-index:-2; } #drag1{ width:10%; height:10%; position:absolute; top:50%; left:20%; margin-right: -20%; transform: translate(-20%, -25%); z-index:-3; } #drag3{ width:10%; height:10%; position:absolute; top:70%; left:30%; margin-right: -30%; transform: translate(-30%, -70%); z-index:-3; } </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)); ev.target.removechild(document.getelementbyid(data)); } </script> </head> <body> <div id="div1" ondrop="drop(event)" ondragover="allowdrop(event)"></div> <img id="drag2" src="pot.jpg" draggable="false" ondragstart="drag(event)" > <img id="drag1" src="carrots.jpg" draggable="true" ondragstart="drag(event)" > <img id="drag3" src="pepper.png" draggable="true" ondragstart="drag(event)" > </body> </html>
i'm going assume "show in pop-up windows", mean "pop in same window", because actual pop-ups annoying, hates them, , browsers block them.
you can put videos in html document start, hidden, using "display = none" in css. in drop(ev)
function, show 1 of videos with:
if (data == 'drag1') var video = document.getelementbyid('video1'); else video = document.getelementbyid('video2'); video.style.display = 'block'; video.play();
or, instead of if
statement, can transform id of drag source id of video, if number them same:
var video = document.getelementbyid('video' + data.slice(-1))
or might have video wrapped in absolutely-positioned div or provide frame around it, in case frame element "display = none".
Comments
Post a Comment