json - Slick Slider 未使用 API json 初始化

标签 json api slick.js

尝试将光滑的 slider 与 API 结合起来,但由于某种原因它不起作用。

不确定我是否做错了什么。

html

<div class="row">
  <div id="test">
    <div class="card top">Hello! My name is<div class="name">Izzy</div><div class="location">Alamo, CA</div><div class="sex-age">Female, adult</div></div>

    <div class="card top">Hello! My name is<div class="name">Izzy</div><div class="location">Alamo, CA</div><div class="sex-age">Female, adult</div></div>

    <div class="card top">Hello! My name is<div class="name">Izzy</div><div class="location">Alamo, CA</div><div class="sex-age">Female, adult</div></div>
  </div>
</div>


<div class="row">
  <div id="cats">
  </div>
</div>

您可以看到第一个 slider “#test”与底部名为“#cats”的 slider 使用相同的 html 标记

由于某种原因, slider #cats 不会初始化。这与我使用append()到id为“cats”的div有关吗?

js

    $(document).ready( function() {

  $.getJSON("https://api.myjson.com/bins/187677", function(data){

    $.each(data.pets, function() {

      var name = this["pet_name"];
      var sex = this["sex"];
      var age = this["age"];
      var state = this["addr_state_code"];
      var image = this ["large_results_photo_url"];
      var city = this ["addr_city"];

      if ( sex = "m") {
        sex = "Male";
      }
      if ( sex = "f") {
        sex = "Female";
      }

      $("#cats").append(
          "<div class='card top'>" +
            "Hello! My name is"+
            "<div class='name'>" + name + "</div>" +
            "<div class='location'>" + city + ", " +state + "</div>" +
            "<div class='sex-age'>" + sex + ", " + age + "</div>" +
          "</div>"
      );


    });  
  });

  $('#cats').slick();
  $('#test').slick();

});

提前谢谢您!

最佳答案

在 DOM 中插入相关幻灯片后,您需要初始化 #catsslick 插件

$(document).ready(function() {

      $.getJSON("https://api.myjson.com/bins/187677", function(data) {

        $.each(data.pets, function() {

          var name = this["pet_name"];
          var sex = this["sex"];
          var age = this["age"];
          var state = this["addr_state_code"];
          var image = this["large_results_photo_url"];
          var city = this["addr_city"];

          if (sex = "m") {
            sex = "Male";
          }
          if (sex = "f") {
            sex = "Female";
          }

          $("#cats").append(
            "<div class='card top'>" +
            "Hello! My name is" +
            "<div class='name'>" + name + "</div>" +
            "<div class='location'>" + city + ", " + state + "</div>" +
            "<div class='sex-age'>" + sex + ", " + age + "</div>" +
            "</div>"
          );
        });
        $('#cats').slick();
      });

      $('#test').slick();
});

或者,您可以提前初始化插件,并使用 .slice('slickAdd', 'html node here') 方法

$(document).ready(function() {
    $('#test').slick();
    $('#cats').slick();
    $.getJSON("https://api.myjson.com/bins/187677", function(data) {

        $.each(data.pets, function() {

          var name = this["pet_name"];
          var sex = this["sex"];
          var age = this["age"];
          var state = this["addr_state_code"];
          var image = this["large_results_photo_url"];
          var city = this["addr_city"];

          if (sex = "m") {
            sex = "Male";
          }
          if (sex = "f") {
            sex = "Female";
          }

          $("#cats").slick('slickAdd', 
            "<div class='card top'>" +
            "Hello! My name is" +
            "<div class='name'>" + name + "</div>" +
            "<div class='location'>" + city + ", " + state + "</div>" +
            "<div class='sex-age'>" + sex + ", " + age + "</div>" +
            "</div>"
          );
        });
      });
 });

关于json - Slick Slider 未使用 API json 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43402747/

相关文章:

java - 在java中的新窗口中下载PDF

api - 使用 LinkedIn 的 API 检索特定公司的招聘信息

api - TypeScript 编译器在 Vue 对象组件中找不到注入(inject)的属性

custom-data-attribute - 光滑 slider 额外选项作为数据属性

jquery - 如何重新定位 SlickJS 轮播中的点?

javascript - 如何向(JSON)对象的原型(prototype)添加方法?

angularjs - 如何使用嵌套资源连接来自不同 URL 的 JSON 对象

javascript - 添加到集合时指定额外属性

JavaScript ||将 API 与 ES6 模块结合使用

javascript - 在 slick 中强制克隆幻灯片