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

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

[C++][SFML 2.2] Strange Performance Issues - Moving Mouse Lowers CPU Usage -

ios - Possible to get UIButton sizeThatFits to work? -