Giphy API: установка нового исходного атрибута для случайных GIF-файлов с помощью jQuery

Я так близок! и немного смущен... так скажите мне, если я слишком усложняю вещи.

Я использую общедоступный API Giphy, чтобы вывести случайный gif (tag=dog в примере ниже), и хочу переключаться между новыми при каждом нажатии кнопки.

В приведенном ниже примере я получаю консоль для регистрации "успеха", я просто не могу понять, как установить новый случайный URL в качестве источника.

Любая помощь приветствуется, спасибо заранее!

HTML:

<div class="iframe">
  <iframe src="https://giphy.com/embed/26FmRLBRZfpMNwWdy" id="giphy-embed">
  </iframe>
</div>

<button type='button' class="btn btn-default" id="new"> New GIF
</button>

JS / JQuery:

$("#new").click(function () {
  var gif = $('#giphy-embed').attr('src', function(newGIF){ //This is where it will go!
  $.ajax ({
    url: "//api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=dog",
    type: "GET",
    success: function(response) {

      console.log("success");    //This is what I get, just need to set the new URL as the src
    }, 
    error: function(e) {
      console.log("uh oh");
      }
    });
  });

});

1 ответ

Решение

Попробуйте вместо этого обновить iframe src как часть функции успеха.

$("#new").click(function () {
 //This is where it will go!
  var imgSrc;
  $.ajax ({
    url: "//api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=dog",
    type: "GET",
    success: function(response) {
      // console.log(response);
      imgSrc = response.data.image_url;
      $("#giphy-embed").attr("src", imgSrc);
      return false;
    }, 
    error: function(e) {
      console.log("uh oh");
      }
    });
});
Другие вопросы по тегам