Javascript Jquery-当另一个打开时自动关闭div
当另一个打开时,自动关闭div不工作。这是html代码Javascript Jquery-当另一个打开时自动关闭div,javascript,jquery,html,Javascript,Jquery,Html,当另一个打开时,自动关闭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>
<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>
DJ Rizmo Ft.Omi&Kid Ink-啦啦队长(混音)
玩
啦啦队长(混音)-由Omi feat Kid Ink创作
玩
Kid ink ft Omi啦啦队长混音
玩
下面是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")
};
函数openPlayer(a){
var b=“”,
e=”“+c+d;
$(“#播放”+a)
.empty(e)
.附加(e)
.播放(“打开”)
};
任何人都可以修改jquery代码,使其只显示一个#div关闭另一个。函数openPlayer(a){
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")
};
$('div.item').hide()//这是一个示例函数,我不知道您希望如何关闭它
$(this).closest('.item').show()//这是保存打开句柄div
变量b='',e=“”+c+d;$(“#播放”+a).空(e).附加(e).播放(“打开”)
};
我在您的代码中添加了两行
$('div[id^=“play”]”).empty().hide()
获取id以“play”开头的所有div
,并将其隐藏
.show()
添加在.append(e)
函数openPlayer(a){
var b=“”,
e=”“+c+d;
$('div[id^=“play”]”)。empty().hide()
$(“#播放”+a)
.empty(e)
.附加(e)
.show()
.播放(“打开”)
};代码>
DJ Rizmo Ft.Omi&Kid Ink-啦啦队长(混音)
玩
啦啦队长(混音)-由Omi feat Kid Ink创作
玩
Kid ink ft Omi啦啦队长混音
玩
如果您只隐藏div
,youtube将在后台播放(您将听到声音)。所以在使用hide()
之前先使用empty()
,然后在下面的代码中尝试
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")
};
函数openPlayer(a){
$(“div[id^=“play”]”。empty().hide();
var b=“”,
e=”“+c+d;
$(“#播放”+a)
.empty(e)
.附加(e)
.show()
.播放(“打开”)
};
将此添加到您的js中:
$('div[id^="play"]').empty();
我建议您使用play div,并在play div中附加您的帧和您正在传递的id,以便您每次都可以清除play div。但以上的工作原理是什么呢
请参阅bin链接:
它隐藏了包括列表在内的所有内容。谢谢Carsten Løvbo Andersen。很有魅力