当其他人打开时,自动关闭div无效。这是html代码,
<div class="item">
<p>DJ Rizmo Ft. Omi & Kid Ink - Cheerleader (Remix)<br>
<button class="bt-play" onclick="openPlayer('N9l-tHPOEOw')"> Play </button></p>
</div>
<br><div id="playN9l-tHPOEOw"></div>
<div class="item">
<p>Cheerleader (remix) - By Omi feat Kid Ink<br>
<button class="bt-play" onclick="openPlayer('-w_AjZ_CQuM')"> Play </button></p>
</div>
<br><div id="play-w_AjZ_CQuM"></div>
<div class="item">
<p>Kid ink ft Omi Cheerleader Remix<br>
<button class="bt-play" onclick="openPlayer('aAS1VMvf3tc')"> Play </button></p>
</div>
<br><div id="playaAS1VMvf3tc"></div>
这里是jquery代码:
function openPlayer(a) {
var b = '<iframe width="560" height="315" src="https://www.youtube.com/embed/',
c = "" + b + a,
d = '" frameborder="0" allowfullscreen></iframe>',
e = "" + c + d;
$("#play" + a)
.empty(e)
.append(e)
.play("open")
};
任何人都可以修改jquery代码,这样它只显示一个#div关闭另一个。
答案 0 :(得分:0)
function openPlayer(a){
$('div.item').hide() //It's example function i don't know how u want close this
$(this).closest('.item').show() //This is save open handle div
var b='<iframe width="560" height="315" src="https://www.youtube.com/embed/',c=""+b+a,d='" frameborder="0" allowfullscreen></iframe>',e=""+c+d;$("#play"+a).empty(e).append(e).play("open")
};
答案 1 :(得分:0)
我在您的代码中添加了2行。
$('div[id^="play"]').empty().hide()
会将所有div's
的ID设为以&#34;播放&#34;并隐藏它们。
.show()
之后添加 .append(e)
function openPlayer(a) {
var b = '<iframe width="560" height="315" src="https://www.youtube.com/embed/',
c = "" + b + a,
d = '" frameborder="0" allowfullscreen></iframe>',
e = "" + c + d;
$('div[id^="play"]').empty().hide()
$("#play" + a)
.empty(e)
.append(e)
.show()
.play("open")
};
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="item">
<p>DJ Rizmo Ft. Omi & Kid Ink - Cheerleader (Remix)<br>
<button class="bt-play" onclick="openPlayer('N9l-tHPOEOw')"> Play </button></p>
</div>
<br>
<div id="playN9l-tHPOEOw"></div>
<div class="item">
<p>Cheerleader (remix) - By Omi feat Kid Ink<br>
<button class="bt-play" onclick="openPlayer('-w_AjZ_CQuM')"> Play </button></p>
</div>
<br>
<div id="play-w_AjZ_CQuM"></div>
<div class="item">
<p>Kid ink ft Omi Cheerleader Remix<br>
<button class="bt-play" onclick="openPlayer('aAS1VMvf3tc')"> Play </button></p>
</div>
<br>
<div id="playaAS1VMvf3tc"></div>
&#13;
答案 2 :(得分:0)
如果您只隐藏div
,youtube将在后台播放(您将听到声音)。因此,请在empty()
之前使用hide()
,尝试以下代码。
function openPlayer(a) {
$("div[id^="play"]").empty().hide();
var b = '<iframe width="560" height="315" src="https://www.youtube.com/embed/',
c = "" + b + a,
d = '" frameborder="0" allowfullscreen></iframe>',
e = "" + c + d;
$("#play" + a)
.empty(e)
.append(e)
.show()
.play("open")
};
答案 3 :(得分:0)
将此添加到您的js:
$('div[id^="play"]').empty();
我宁愿建议你玩游戏div并将你的框架附加到你正在传递的id的游戏div中,这样你就可以每次都清除游戏div。但任何上述方式都有效。