【问题标题】:jQuery toggle class when iframe src changesiframe src更改时的jQuery切换类
【发布时间】:2012-09-10 21:52:33
【问题描述】:

我正在使用一个名为 Stratus 的 SoundCloud.com 音乐播放器插件。该插件允许您在指向 soundcloud 轨道的任何锚点上设置“stratus”类,单击时,会将轨道动态添加到播放器并开始播放。 jsfiddle 示例:http://jsfiddle.net/2CCS6/

除了我在下面的切换之外,我还想在 iframe 的 src 更改时切换或删除 (this) 中的“暂停”。我将所有 .stratus 链接设置为播放按钮,问题是当它们被点击时,它们(视觉上)保持在播放状态。通过切换类暂停,我可以显示一个暂停图标来指示活动的轨道和暂停功能。

我这里的版本有点适用于点击功能,但它似乎干扰了它下面的功能。至于切换 iframe src 何时更改...我正在查看 this.contentWindow.location 但由于域不匹配而不确定这是否会起作用。

$('a.stratus').click(function() {
  $(this).toggleClass('pause');
  $.postMessage($(this).attr('href'), src, $('#stratus iframe')[0].contentWindow);
  return false;
});
return $.receiveMessage(function(e) {
  return $('#stratus').toggleClass('open');
}, root_url);

感谢您提供的任何帮助!

【问题讨论】:

    标签: javascript jquery iframe toggle soundcloud


    【解决方案1】:

    我相信每次 src 属性更改时都会触发 .load 方法。

     $('#frameId').load(function () {
        $(this).toggleClass('pause');
     });
    

    【讨论】:

    • 感谢 Dave,这会在页面加载时触发,但在点击歌曲时不会触发。我只是查看了 iframe src,单击新歌曲时它似乎永远不会改变 src="stratus.sc/…" 不知道如何检测歌曲更改,src 是我能想到的唯一方法:/
    猜你喜欢
    • 2023-01-01
    • 1970-01-01
    • 2014-06-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多