gpt4 book ai didi

javascript - HTML5 : How do you make different events for different images being dragged then dropped into a div?

转载 作者:行者123 更新时间:2023-11-28 08:13:03 25 4
gpt4 key购买 nike

我遇到了一个问题,我有 2 张图片,我希望将每张图片拖放到一个 div 中以播放不同的视频。 IE。图像 1 播放视频 1,图像 2 播放视频 2。问题是图像 1 和 2 都播放相同的视频。 Image id 是“drag1”和“drag3”。我再次希望当“drag1”被拖放然后附加到 div 中以供“video1”播放时,当“drag3”被拖放到 div 中然后附加到我尚未输入的另一个视频中播放时。我该怎么做呢?现在“drag1”和“drag3”都播放“video1”。这是我的代码示例。

<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));


var video = document.getElementById('video1');
video.style.display = 'block';
video.play();

document.getElementById('video1').addEventListener('ended',myHandler,false);
function myHandler(e) {
if(!e) { e = window.event; }
video.style.display = 'none';
}

}

</script>
</head>

<body>

<video id="video1" controls>
<source src="carrots.mp4" type="video/mp4">
</video>

<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>

这是 CSS3

<style>
body {
background: url(food-table.jpg);
background-repeat: no-repeat;
background-size: 100% 100%;
}
html
{ height:100%}

#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;
}

#video1{ width:50%; height: 30%;
position:absolute;
top:50%;
left:50%;
margin-right: -50%;
transform: translate(-50%, -50%);
display:none;
}

最佳答案

我会向您的来源添加一个 id,例如:

<video id="video1" controls>
<source id="video1-source" src="carrots.mp4" type="video/mp4">
</video>

然后将来源的“src”属性更改为适当的来源。

 var video = document.getElementById('video1');
document.getElementById('video1-source').setAttribute('src', 'youNewSource');
video.style.display = 'block';
video.play();

关于javascript - HTML5 : How do you make different events for different images being dragged then dropped into a div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29148168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com