2

我一直在阅读线程(特别是这个:jquery 手风琴内的 iFrame),但仍然没有找到(或不理解)如何获取我隐藏在关闭的手风琴部分中的 Spotify 播放列表以在页面加载时完全加载。

提供了许多我已经尝试过的解决方案,到目前为止,没有任何方法可以解决问题(可能是由于我的 JS 菜鸟)。我会很感激任何见解。请具体说明在哪里放置什么,因为我是 Javascript 的新手。

JS:

<script>
     $(function() {
     $( "#accordion" ).accordion({
                collapsible: true,
            autoHeight: false,
            alwaysOpen: false,
            active: true
                });
            });
 </script> 

相关HTML:

<h3 id="bubble">The Bubble Creatures</h3>
<section id="bubble">
    <div id="bubble-story"><p>Blah blah</p></div>
    <iframe id="spotify" src="https://embed.spotify.com/?uri=spotify:user:seedpodpub:playlist:4MsCt5Fkg5G99Tb5VFqzQ4" width="300" height="380" frameborder="0" allowtransparency="true"></iframe>
</section>  

再次感谢你!○。

更新了更多信息:
本质上,我想这样做:

  1. 如果部分样式为“#section1 {display:none;}”,则什么也不做。
  2. 如果部分样式为“#section1 {display:block;}”,则触发 div #spotify 加载。

这应该可以克服我在隐藏 iframe 中看到的半加载问题(我希望)?我正在看这篇文章:Event detect when css property changed using Jquery再次未能实现建议的解决方案。

4

1 回答 1

0

似乎您已经找到了摆脱这种情况的方法,但对于其他人,我建议了一个相当简单的解决方案。

我试图将我的 Google 地图 api 加载到 jQuery Accordion 内的 iframe 中。问题是如果您将手风琴加载为关闭状态,则 iframe 永远不会加载,因此如果您尝试打开手风琴,您将看不到任何内容。

解决方案是先将手风琴加载为打开或活动状态(active: '0'),然后在页面加载后使用此代码关闭手风琴:

$("#accordion-map").accordion(
  {
    active: 'none'
  }
);

所以发生的情况是,当您声明您的手风琴打开并且上面的代码在之后立即关闭它时;)所以您永远看不到它打开。

在 Chrome 和 FireFox 中为我工作得很好。

于 2014-08-25T02:23:47.393 回答