代码之家  ›  专栏  ›  技术社区  ›  Sergio santa

使用jQuery更改和加载iframe src属性

  •  0
  • Sergio santa  · 技术社区  · 6 年前

    我对jQuery非常陌生,对我的web设计总体上很生疏。我在我的网站上有一个页面,有12个按钮,旁边还有一个iframe,它是从直播网站嵌入的,显示视频。我只想让每个按钮将不同的视频从这个站点加载到iframe中,而不需要简单地重新加载整个页面。我已经搜索并看到了一些jQuery与iFrame交互的示例,但这些示例太复杂了,我无法完全理解。有人能举个简单的例子说明我需要做什么吗?我只需要jQuery更改src值,并在用户单击其中一个按钮时重新加载iframe。

    这是我正在玩的代码

    <div id="chanelShowEmbed" class="embed-responsive">
          <iframe id="chanelShow" class="embed-responsive-item" src="chanel1 url" onLoad='$("#popLoad").fadeOut("slow");' allowfullscreen>  </iframe>
        </div>
      <div class="col  m-auto"> <img id="channel1" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel2" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel3" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel4" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel5" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel6" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel7" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel8" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel9" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel10" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel11" class="chanel" src="image url"> </div>
              <div class="col  m-auto"> <img id="channel12" class="chanel" src="image url"> </div>       
    

    JS代码

    var listChanels = {
        "channel1":"channel url",
    
        "channe2":"channel url",
    
        "channe3":"channel url",
        "channe4":"channel url",
        "channe5":"channel url",
        "channe6":"channel url",
        "channe7":"channel url",
        "channe8":"channel url",
        "channe9":"channel url",
        "channel0":"channel url",
        "channel1":"channel url",
        "channel2":"channel url",
    

    我错过了什么?

    任何帮助都将不胜感激。

    谢谢

    1 回复  |  直到 6 年前
        1
  •  1
  •   brianyates    6 年前

    为每个按钮分配一个数据属性可能是有意义的,其中data src是要在单击时分配给iframe的源url。

    所以HTML看起来像这样。。。

    <img class="channel" data-src="your Channel Source" src="image source"></img>
    

    然后,当用户单击图像时,您可以分配一个jQuery侦听器,将数据属性中的源分配给iframe,就像这样。。。

    $('.channel').click(function(){
      var s = $(this).data('src');
      $('#channelShow').attr('src', s);
    });
    

    请注意,我在您的类和id名称中添加了一个“n”,因为我想正确拼写频道:)