Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery-当另一个打开时自动关闭div_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery-当另一个打开时自动关闭div

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不工作。这是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>

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。很有魅力