【问题标题】:jQuery UI Accordion not workingjQuery UI 手风琴不起作用
【发布时间】:2016-11-26 17:58:10
【问题描述】:

我正在尝试实现 jQuery UI 手风琴,以便在单击时折叠我的字段。但它不起作用。有人能指出我正确的方向吗?

Codepen Link

  $(function() {
    $( "#accordion" ).accordion({
        collapsible: true
    });
  });

【问题讨论】:

  • 我不知道你想要什么,但如果你在$(function() 上评论手风琴,然后将该代码放在success 回调中的for 之后,它将起作用。 codepen.io/anon/pen/MbvmBN
  • 嘿,谢谢,您应该作为回复发布,以便我投票!所以我毕竟不需要函数吗?只需选择#accordion 元素并将方法应用于它?因为上面的函数现在是一个空函数。不过,我发现了一个小“错误”。当我单击一个链接离开我的页面时,jQuery UI 会中断,直到硬刷新。也许我应该去看一个关于 jQuery UI 的视频,它在文档上看起来更简单。再次感谢!
  • 改进格式。

标签: jquery html jquery-ui


【解决方案1】:

上次我没听懂,你有一个$(document).ready(),你在$(document).ready()里面有一个$(function(),它们是一样的,但缩写:

$(document).ready(function() VS $(function(){

并且因为您是在使用 javascript 创建元素之后创建手风琴,所以您需要调用手风琴方法,因为它是新内容。

$.ajax({
    type:"GET",
    url:apiURL,
    dataType:"json",
    async:false,
    success: function(response){
      console.log(response);
      searchTitles=response[1];
      searchDescription=response[2];
      searchLink=response[3];

      for (var i = 0; i<searchTitles.length; i++) {
        $(".results").prepend("<h3>"+searchTitles[i] +"</h3>" + "<div> <p>"+searchDescription[i]+"</p>" + "<a target='blank' class='btn btn-warning'  href='"+searchLink[i]+"'>More</a></div>");
      }

      //After the new content, generate the accordion
       $( "#accordion" ).accordion({
        collapsible: true
      });
   }
});

【讨论】:

    猜你喜欢
    • 2016-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多